共用方式為


NuGet 警告 NU5127

此套件不包含 lib/ 或 ref/ 資料夾,因此會被視為與所有架構相容。 由於在 net45 的 build/ 目錄下找到架構特定檔案,netstandard2.0,請考慮建立下列空白檔案,以正確縮小套件的相容性:
-lib/net45/
-lib/netstandard2.0/.

問題

僅使用和 ref/ 元件來PackageReferencelib/判斷套件相容性的專案。 因此,不含任何 lib/ref/ 檔案的套件會被視為與所有專案相容。 不過,包含一或多個目標架構專屬 MSBuild 屬性或目標的套件只會顯示意圖,只與這些目標架構相容。

例如,假設套件 PackageA 包含單一檔案 build/net8.0/PackageA.targets。 如果以專案為目標 net48 的項目參考此套件(.NET Framework 版本 4.8),NuGet 將不會發出任何警告或錯誤,也不會從套件中選取任何資產。 因此,套件取用者將不會收到套件無法正常運作其專案的通知。

解決方法

如警告訊息所建議,請在列出的 TFM 的 lib 資料夾中建立名為 _._ 的空白檔案。 這可讓 NuGet 在專案與套件不相容時,讓專案的還原 PackageReference 失敗。

如果您的套件是要與所有目標架構相容,但只會針對特定目標架構生效,請建立內容為<Project />的檔案build/{PackageId}.props