NuGet 警告 NU5131
在 nuspec 中找到參考,但在 nuspec 和 ref 資料夾中找不到某些參考元件。 新增下列參考元件:
- 將AssemblyName.dll新增至 ref/net472/ 目錄
問題
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