我为我的解决方案创建了一个nuspec文件。解决方案有几个空文件夹。
我已从https://docs.nuget.org/consume/command-line-reference
下载了最新的nuget.exe但是,当我运行我的nuget pack命令时,不包含空文件夹。查看pack命令的文档,我正在解释默认包含空文件夹的事实,因为这个标志:
ExcludeEmptyDirectories:在构建程序包时防止包含空目录。
不幸的是,我无法获得pack命令来包含我的空文件夹。
我的文件结构类似于 根
Folder1和Folder2中包含内容文件,但Folder3为空
我的nuspec文件定义如下:
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Package_7.2_140526</id>
<version>7.2.140526</version>
<title>Package 7.2 rev 140526</title>
<authors>My Company</authors>
<owners>My Company</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>A vanilla website</description>
</metadata>
</package>
我没有包含单个文件,因为我希望nuget包包含所有内容。虽然我的例子只有3个文件夹,但显然不止于此。
这是我从命令行运行的nuget命令
nuget pack "c:\Projects\Package 7.2 rev 140526\Packagee 7.2 140526.nuspec" -OutputDirectory c:\Projects -NoPackageAnalysis
当这不起作用时我尝试使用-ExcludeEmptyDirectories标志只是加入
nuget pack "c:\Projects\Package 7.2 rev 140526\Packagee 7.2 140526.nuspec" -OutputDirectory c:\Projects -NoPackageAnalysis -ExcludeEmptyDirectories
但它仍然不会包含空文件夹。
要使nuget pack命令包含空文件夹需要做些什么?
更新
我使用Nuget Package Explorer将空文件夹添加到解决方案中,然后查看修改后的nuspec文件。看来,在nuget中包含空文件夹的唯一方法是将文件条目设为
<file src="folder3\_._" target="folder3\_._" />
然后使用postdeploy.ps1文件删除名为“_._”的所有文件
所以似乎总是必须指定文件。
聚苯乙烯。我用以下结构测试了它 \ Folder3 \ Folder4。
如果folder4为空,则除非包含“_._”文件,否则不会创建folder3和folder4
但是如果有一种方法可以包含空文件夹而不必诉诸_._文件然后想知道,特别是如果空白文件夹是嵌套的,因为它很容易被排除
答案 0 :(得分:0)
是的,这似乎是一个问题,它是否已经解决,以及如何解决。 Nuget Github中有一些关于此的问题,但我不能清楚地了解状态是什么。
总结是nuget&#39; pack&#39;有一个参数。这个名为-ExcludeEmptyDirectories的命令实际上应该与它所调用的方法相反,但它不能正常工作。
见