プロジェクトにファイルを追加し、そのファイルを"Copy to Output Directory"フラグに設定するには、自分のNuGetパッケージが必要です。NuGet contentFilesを使用してファイルをコピーして出力ディレクトリを構築します
これまでのところ、install.ps1
スクリプトを使用しています(answer by @workabyte to Set content files to “copy local : always” in a nuget package)。
しかし、NuGet 3.3以降では、contentFiles
modelを使用したネイティブサポートがあることを理解しました。パッケージをコンパイルすると
<?xml version="1.0"?>
<package>
<metadata minClientVersion="3.3.0">
...
<contentFiles>
<files include="**/*.png" buildAction="None" copyToOutput="true" />
</contentFiles>
</metadata>
</package>
、そのディレクトリ構造を持つimage.png
が追加された:私の.nuspec
で、その後
contentFiles\
any\
any\
image.png
そして:
私の理解では、私のようなディレクトリ構造を作成することでした.nupkg
。
しかし、Visual Studio(2017)でパッケージをインストールすると、image.png
はプロジェクトに追加されません。
私は間違っていますか?
あなたはNuGetパッケージを参照する 'PackageReference'スタイルを使用していますか? 'contentFiles'は' packages.config'ベースのプロジェクトでは動作しません –
@MartinUllrichあなたのお返事ありがとうございます。私はこれらの行に沿って何かを読んだ。しかし、正直言って、私はそれを理解していません。 *「NuGetパッケージを参照するスタイル」*とはどういう意味ですか? –
NuGetオプションでは、最初にパッケージをプロジェクトにインストールするときにpackages.configとPackageReferenceの間で選択できます。プロジェクトをまだアップグレードする方法はありません(すべてのパッケージをアンインストールする=>スイッチ "スタイル" =>それらを再インストールする) –