我有两个解决方案,Foo和Bar。
Foo,Foo.A中的一个项目输出一个nuget包,我们的构建服务器推送到内部nuget feed。 Bar,Bar.A中的一个项目引用了这个nuget包。
Foo.A包含一个配置文件,我希望在构建时将其复制到Bar.A的bin输出文件夹中。为此,我提出了以下nuspec
:
<?xml version="1.0"?>
<package >
<metadata>
<id>Foo.A</id>
<!-- rest of metadata omitted -->
<contentFiles>
<files include="Config/*.config" buildAction="None" copyToOutput="true" flatten="false" />
</contentFiles>
</metadata>
<files>
<file src="bin\$Configuration$\*.dll" target="lib" />
<file src="bin\$Configuration$\*.pdb" target="lib" />
<file src="Config\*.config" target="lib\Config" />
</files>
</package>
这会创建一个包含内部结构的包:
Foo.A.nupkg
|-- lib
| |-- Config
| | +-- Foo.A.config
| |-- Foo.A.dll
| +-- Foo.A.pdb
+-- Foo.A.nuspec
上面的nuspec中的元数据部分保存在Foo.A.nuspec
中,但文件部分已经消失。
当我在Bar.A
中导入此包并进行构建时,我将Foo.A
中的dll和pdb文件复制到bin文件夹,而不是Config
目录。
我已经多次阅读了nuspec reference的相关部分,但我没有更明智。
我需要做些什么来实现这个目标?