错误 NU5129:- 至少找到一个 .targets 文件,但未找到“build/xyz.targets”

问题描述 投票:0回答:1

回答我自己的问题以帮助将来的人,这是值得鼓励的。

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 文件并构建后会重新生成。

asp.net .net msbuild nuget target
1个回答
0
投票

我们认为有两件事可能导致了这个问题:

 1. <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
 2. <InternalsVisibleTo Include="Company.Base.Core.Tests" />

我的直觉是第一个,当我去查找

<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
的所有实例以将其注释掉时,我注意到 Company.Base.Core.targets 文件中它已经存在。

从所有项目文件中删除/注释掉

<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
并将其保留在 .targets 文件中解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.