我有两个解决方案,Foo 和 Bar。
Foo 中的一个项目 Foo.A 输出一个 nuget 包,我们的构建服务器将其推送到内部 nuget 提要。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
并构建时,我将 dll 和 pdb 文件从Foo.A
复制到 bin 文件夹中,而不是Config
目录中。
我已经阅读了几次 nuspec 参考的相关部分,但我并没有变得更明智。
我需要做什么才能使它正常工作?