NuGet 警告 NU5129

At least one .<extension> file was found in '<build_folder>/<tfm>/', but '<build_folder>/<tfm>/<package_id>.<extension>' was not.

<extension> 为以下某一项:targetsprops<build_folder> 为以下某一项:buildbuildTransitivebuildCrossTargetingbuildMultiTargeting<tfm>目标框架名字对象,或是可能不存在。 <package_id> 为包的包标识符

示例:

At least one .targets file was found in 'build/netstandard2.0/', but 'build/netstandard2.0/MyPackage.targets' was not.
At least one .props file was found in 'build/netstandard2.0/', but 'build/netstandard2.0/MyPackage.props' was not.
At least one .props file was found in 'buildTransitive/net472/', but 'buildTransitive/net472/My.Package.Id.props' was not.
At least one .targets file was found in 'buildMultitargeting/netcoreapp3.0/', but 'buildMultitargeting/netcoreapp3.0/Contoso.Utilities.targets' was not.
At least one .props file was found in 'build/', but 'build/AdventureWorks.Tools.props' was not.

问题

包含 MSBuild 属性和目标的包需遵循在 .props.targets 扩展名之前使用包 ID 的命名约定。 未遵循此约定的文件不会导入到使用此包的项目中。

示例:如果包 ID 为 Contoso.Utilities 且包含文件 build/Contoso.Utilities.propsbuild/Utilities.targets,则仅 Contoso.Utilities.props 文件会导入到使用此包的项目中。 NuGet 不会导入 Utilities.targets

解决方案

将文件重命名以符合此约定。

在以上示例中,build/netstandard2.0/Utilities.targets 应重命名为 build/netstandard2.0/Contoso.Utilities.targets 以便 NuGet 开始导入它。 如果正在 Contoso.Utilities.props 中导入 Utilities.targets,请重命名此文件以使用 .props 扩展名。