NuGet内容文件是如何工作的?
我正在尝试创建一个nuget包,其中包含可用于不同类型项目的内容 TestSource.nuspec如下所示:NuGet内容文件是如何工作的?,nuget,Nuget,我正在尝试创建一个nuget包,其中包含可用于不同类型项目的内容 TestSource.nuspec如下所示: (该文件既可用作contentFiles\cs\any\TestSource.cs也可用作TestFolder\TestSource.cs) 所创建的包在“普通”项目中工作正常,但在packagereference项目中没有发生任何事情 我想我错过了一些简单的东西,这是我自己发现的 您需要在“文件”部分添加两次该文件 <contentFiles> <f
(该文件既可用作contentFiles\cs\any\TestSource.cs
也可用作TestFolder\TestSource.cs
)
所创建的包在“普通”项目中工作正常,但在packagereference项目中没有发生任何事情
我想我错过了一些简单的东西,这是我自己发现的
您需要在“文件”部分添加两次该文件
<contentFiles>
<files include="cs\any\TestSource.cs" buildAction="Compile" />
</contentFiles>
</metadata>
<files>
<file src="TestFolder\TestSource.cs" target="content/TestFolder" />
<file src="TestFolder\TestSource.cs" target="contentFiles/cs/any" />
</files>
然后,包将同时适用于普通项目和packagereference项目。将告诉包在打包时从何处获取文件。将告诉包在生成包含此包的项目时要提取的内容。将创建包时使用的.nuspec文件与生成的包中的文件进行比较。您会注意到,元素在仍然存在的时候就消失了(有时在打包过程中会有一些变化)。这背后的理由是,一旦打包好包,文件的来源就无关紧要了。