NuGet 警告 NU5129
至少一個。<擴展名>檔案位於 『<build_folder/<tfm>/』,但 『<build_folder>>/<tfm>/<package_id>。<擴充>功能不是。
<extension>
是的其中一個: targets
、 props
。
<build_folder>
是下列其中一個:build
、、、buildMultiTargeting
buildTransitive
buildCrossTargeting
。
<tfm>
是 Target Framework Moniker,或可能不存在。
<package_id>
是封裝的套件標識碼。
範例:
在 'build/netstandard2.0/' 中找到至少一個 .targets 檔案,但 'build/netstandard2.0/MyPackage.targets' 不是。
在 'build/netstandard2.0/' 中找到至少一個 .props 檔案,但 'build/netstandard2.0/MyPackage.props' 不是。
在 'buildTransitive/net472/' 中找到至少一個 .props 檔案,但 'buildTransitive/net472/My.Package.Id.props' 不是。
在 'buildMultitargeting/netcoreapp3.0/' 中找到至少一個 .targets 檔案,但 'buildMultitargeting/netcoreapp3.0/Contoso.Utilities。 目標不是。
在 'build/' 中找到至少一個 .props 檔案,但 'build/AdventureWorks.Tools.props' 不是。
問題
包含 MSBuild 屬性和目標的套件必須遵循在 或 .targets
延伸模組之前使用套件識別碼的.props
命名慣例。 不符合此慣例的檔案將不會匯入使用封裝的專案。
範例:如果套件標識碼是 Contoso.Utilities
且包含 檔案 build/Contoso.Utilities.props
和 build/Utilities.targets
,則只會 Contoso.Utilities.props
使用封裝將檔案匯入專案。 Utilities.targets
NuGet 不會匯入。
解決方案
將檔案重新命名為符合慣例。
在上述範例中, build/netstandard2.0/Utilities.targets
應該重新命名為 build/netstandard2.0/Contoso.Utilities.targets
,讓 NuGet 開始匯入。 如果在 Utilities.targets
中 Contoso.Utilities.props
匯入 ,則請重新命名檔案以使用 .props
擴展名。