我正在使用在线" NuGet Packager"构建NuGet包。 Visual Studio 2013中的模板。我的项目中有以下文件结构:
content/
docs/
|
+- Install.md
|
+- Install.html
lib/
src/
tools/
作为参考,我安装了Visual Studio的Web Essentials扩展,并且在保存时将docs/Install.md
文件从Markdown编译为HTML。
使用包含文件的默认Package.nuspec
设置,docs
目录将被复制到.nupkg文件的content
目录。
Package.nuspec的<files>
部分:
<files>
<file src="lib\" target="lib" />
<file src="tools\" target="tools" />
<file src="docs\*" target="lib\docs" exclude="docs\**\*.md" />
<file src="content\" target="content" />
</files>
.nupkg文件的结果文件结构:
content/
docs/
Install.html <-- This is NOT correct
lib/
docs/
Install.html <-- This is correct
package/
tools/
我的<files>
规范的一些其他变体不起作用:
<file src="content\" target="content" exclude="docs" />
<file src="content\" target="content" exclude="docs\*" />
<file src="content\" target="content" exclude="docs\**\*" />
<file src="content\" target="content" exclude="content\docs" />
<file src="content\" target="content" exclude="content\docs\" />
<file src="content\" target="content" exclude="content\docs\*" />
<file src="content\" target="content" exclude="content\docs\**\*" />
如果我将docs
文件夹排除在我的Visual Studio项目中,则此文件夹不再显示在生成的content
文件夹中,并且会像我想要的那样复制到lib文件夹,但这样做方便了保存.md文件并让Web Essentials在保存时将其转换为HTML的工作流程。
为什么我的lib/docs
文件夹被复制到.nupkg文件中的content
文件夹?
答案 0 :(得分:1)
我这样做时讨厌它。发布问题15秒后,我发现了答案。
似乎正在发生两件事:
默认情况下,HTML文件在“内容”的Visual Studio中被赋予“构建操作”
NuGet选择了这个,并将任何带有此Build Action的文件 - 在项目的任何目录中 - 扔到.nupkg文件的<input type="number" size="3" max=1 min=5>
文件夹中。
修复: