分享方式:


NuGet 警告 NU5129

至少一個。<擴展名>檔案位於 『<build_folder/<tfm>/』,但 『<build_folder>>/<tfm>/<package_id>。<擴充>功能不是。

<extension> 是的其中一個: targetsprops<build_folder>是下列其中一個:build、、、buildMultiTargetingbuildTransitivebuildCrossTargeting<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.propsbuild/Utilities.targets,則只會 Contoso.Utilities.props 使用封裝將檔案匯入專案。 Utilities.targets NuGet 不會匯入。

解決方案

將檔案重新命名為符合慣例。

在上述範例中, build/netstandard2.0/Utilities.targets 應該重新命名為 build/netstandard2.0/Contoso.Utilities.targets ,讓 NuGet 開始匯入。 如果在 Utilities.targetsContoso.Utilities.props匯入 ,則請重新命名檔案以使用 .props 擴展名。