分享方式:


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