Foo と Bar の 2 つのソリューションがあります。
Foo のプロジェクトの 1 つである Foo.A は、ビルド サーバーが内部の nuget フィードにプッシュする nuget パッケージを出力します。Bar のプロジェクトの 1 つである 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 リファレンスの関連するセクションを数回読んだことがありますが、賢明ではありません。
これを機能させるにはどうすればよいですか?