gpt4 book ai didi

nuget - 我可以在 .nuspec 文件路径中使用多个通配符吗?

转载 作者:行者123 更新时间:2023-12-02 03:16:02 26 4
gpt4 key购买 nike

我正在尝试使用 .nuspec <files> elements 将一系列 Razor View 收集到 NuGet 包中.我的项目结构是非标准的,但是由于我不会进入的原因,我无法更改它。

这是我的项目结构:

* Project
* Bar
* code
* Bar.csproj <-- OctoPack initiated from here
* Views
* Bar
* View1.cshtml
* View2.cshtml
* Baz
* code
* Views
* Baz
* View3.cshtml
* View4.cshtml
* Qux
* code
* Views
* Qux
* View5.cshtml
* View6.cshtml

......这就是我所追求的:

预期结果
* Views
* Bar
* View1.cshtml
* View2.cshtml
* Baz
* View3.cshtml
* View4.cshtml
* Qux
* View5.cshtml
* View6.cshtml

这是我尝试过的:

尝试 #1
<file src="..\..\..\Project\*\code\Views\**\*.cshtml" target="Views" />

奇怪的是,单个通配符成为递归起点,导致:
* Views
* Bar
* code
* Views
* View1.cshtml
* View2.cshtml
* Baz
* code
* Views
* View3.cshtml
* View4.cshtml
...

尝试#2
<file src="..\..\..\Project\**\code\Views\**\*.cshtml" target="Views" />

产生与#1 相同的结果

尝试 #3
<file src="..\..\..\Project\*\code\Views\*\*.cshtml" target="Views" />

结果如下:
* Views
* View1.cshtml
* View2.cshtml
* View3.cshtml
* View4.cshtml
* View5.cshtml
* View6.cshtml

最佳答案

如果您使用 Octopack 构建 sln 文件,您将需要 3 个 nuspec 文件,它们的名称和位置相同且位于 csprojectfilename.nuspec

该部分必须喜欢以下内容

Bar.nuspec(与 Bar.csproj 文件夹级别相同)

<file src="obj\Release\Package\PackageTmp\bin\Views\bar\*.cshtml"     target="Views\Bar"/>

Baz.nuspec(与 Baz.csproj 相同的文件夹级别)
<file src="obj\Release\Package\PackageTmp\bin\Views\baz\*.cshtml"     target="Views\Baz"/>

Qux.nuspec(与 Qux.csproj 相同的文件夹级别)
<file src="obj\Release\Package\PackageTmp\bin\Views\qux\*.cshtml"     target="Views\Qux"/>

将有 3 个 nuget 包。

或(不带 octopack)

如果要使用一个 nuget 包执行此操作,则应使用 nuget.exe 并手动打包。
"C:\Scripts\Nuget.exe" pack %WORKSPACE%\Allfilesources.nuspec -OutputDirectory "%2" -BasePath "%3" -version %4

Allfilesources.nuspec
<file src="C:\CustomPack\obj\Release\Package\PackageTmp\bin\Views\bar\*.cshtml"     target="Views\Bar"/>
<file src="C:\CustomPack\obj\Release\Package\PackageTmp\bin\Views\baz\*.cshtml" target="Views\Baz"/>
<file src="C:\CustomPack\obj\Release\Package\PackageTmp\bin\Views\qux\*.cshtml" target="Views\Qux"/>

关于nuget - 我可以在 .nuspec 文件路径中使用多个通配符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37060072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com