NuGet 警告 NU5131
References were found in the nuspec, but some reference assemblies were not found in both the nuspec and ref folder. Add the following reference assemblies: - Add AssemblyName.dll to the ref/net472/ directory
問題点
NuGet には、パッケージ作成者がパッケージを使用するプロジェクトでコンパイル時に使用できるアセンブリを選択できるようにする機能があります。
必要な規則に従わない場合、PackageReference
のパッケージを使用するプロジェクトは、アセンブリがないために実行時に失敗する可能性があります。。
解決策
nuspec ファイルの<references>
セクション内のアセンブリの一覧に、ref/<tfm>/
に一致するアセンブリが含まれている必要があります。
例えば、次のファイルを含むパッケージがあるとします。
lib\net472\MyLib.dll
lib\net472\MyHelpers.dll
lib\net472\MyUtilities.dll
パッケージ作成者は、パッケージ コンシューマーがMyUtilities.dll
を直接呼び出すコードを記述できないようにする必要があるため、nuspec ファイルに以下を追加します。
<references>
<group targetFramework="net472">
<reference file="MyLib.dll" />
<reference file="MyHelpers.dll" />
</group>
</references>
このパッケージは、PackageReference
を使用している場合、意図したとおりに動作しなくなります。 これを修正するには、パッケージに次のファイルも含まれていることが必要です。
ref\net472\MyLib.dll
ref\net472\MyHelpers.dll
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示