我一直在使用最新版本的 Nuget (3.3) 开发 Nuget 包,我正在尝试使用新的“contentFiles”功能包含内容。但是,Nuget 完全拒绝在安装之后/期间将内容文件复制到目标项目中。它正确地包含了我在项目中引用的两个 DLL 文件。这是我的 .nuspec 文件的副本:
<?xml version="1.0"?>
<package >
<metadata minClientVersion="3.3">
<id>Flare.Framework</id>
<version>1.0.3</version>
.... omitted ....
<references>
<group>
<reference file="Flare.Framework.dll" />
<reference file="OpenTK.dll" />
</group>
</references>
<contentFiles>
<files include="**/*"/>
</contentFiles>
</metadata>
<files>
<file src="*.dll" target="lib/net45" />
<file src="*.dll.config" target="contentFiles/any/net45" />
<file src="*.pdb" target="contentFiles/any/net45" />
</files>
</package>
安装后的最终文件夹结构如下所示:
TestProject
|- packages
|- Flare.Framework.1.0.0
|- lib
|- net45
|- Flare.Framework.dll
|- ...
|- contentFiles
|- any
|- net45
|- ...
这对我来说似乎是正确的,但是 contentFiles/any/net45 中的文件实际上并没有被添加到 .csproj 文件中。添加的唯一文件是 packages.config 文件。