回答我自己的问题以帮助将来的人,这是值得鼓励的。
VS2022、.Net 6.0、Asp.Net - WebAPI。
对项目文件进行一些更改后,当我们发布到 Nuget 时,我们会在构建中看到此错误。
NuGet.Build.Tasks.Pack.targets(221,5): error NU5129: - At least one .targets file was found in 'build/', but 'build/Company.Base.Core.targets' was not.
我们正在审查更改,但没有什么突出的地方,我们无法在本地重现它。
<Content Include="Company.Base.Core.targets">
<BuildAction>Content</BuildAction>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<PackagePath>build\</PackagePath>
<IncludeInPackage>true</IncludeInPackage>
<CopyToOutput>true</CopyToOutput>
删除 .targets 文件并构建后会重新生成。
我们认为有两件事可能导致了这个问题:
1. <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
2. <InternalsVisibleTo Include="Company.Base.Core.Tests" />
我的直觉是第一个,当我去查找
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
的所有实例以将其注释掉时,我注意到 Company.Base.Core.targets 文件中它已经存在。
从所有项目文件中删除/注释掉
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
并将其保留在 .targets 文件中解决了该问题。