使用NuGet 4.6.2,如何在使用PackageReference从项目文件创建包时排除所有内容文件?
我将此命令作为bubuid事件运行:
$(SolutionDir)\.nuget\nuget pack $(ProjectPath) -IncludeReferencedProjects -properties Configuration=$(ConfigurationName) -symbols
我尝试了这个nuspec文件:
<package>
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<releaseNotes></releaseNotes>
<copyright>$copyright$</copyright>
<tags></tags>
<contentFiles>
<files include="**\*.*" exclude="**\*.*" />
</contentFiles>
</metadata>
<files>
<file src="**\*.*" target="content" exclude="**\*.*" />
</files>
</package>
但是内容文件始终在软件包中
答案 0 :(得分:1)
只需为files
使用一个空节点
<package>
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<releaseNotes></releaseNotes>
<copyright>$copyright$</copyright>
<tags></tags>
</metadata>
<files />
</package>
答案 1 :(得分:0)
如何排除所有内容文件?
在.nupsec
中使用空文件节点确实是一种有效的方法。
作为替代方案,您可以向现有的<Content>
项目中添加额外的元数据,以覆盖如下所示的条目:
<ItemGroup>
<Content Include="Test.txt">
<Pack>false</Pack>
</Content>
</ItemGroup>
有关更多详细信息,请参见pack scenarios。
希望这会有所帮助。