TFS 构建代理发生错误 CS0579,但在本地构建 运行 时成功

Error CS0579 occurs on TFS build agent but succeeds when build is run locally

我的 TFS 自动构建系统出现 CS0579 错误。相同的构建脚本在我的开发机器上运行良好。构建也在 Visual Studio 中成功。出错的项目是 C# netcoreapp3.1 和平台 x64

错误: Tests.AssemblyInfo.cs(15,12):错误 CS0579: 重复 'System.Reflection.AssemblyFileVersionAttribute' 属性

其他几个属性重复错误:

  1. System.Reflection.AssemblyInformationalVersionAttribute
  2. System.Reflection.AssemblyProductAttribute
  3. System.Reflection.AssemblyTitleAttribute
  4. System.Reflection.AssemblyVersionAttribute

我的构建代理是否遗漏了什么?可能发生了什么?

编辑: 我应该提到项目中没有 AssemblyInfo.cs false 属性 已在 csproj 中设置。

此外,如上所述,构建脚本已在我的工作站上 运行 成功。随后它也在另一个开发工作站上 运行 成功。但是,在 TFS 构建代理上始终失败。

error CS0579: Duplicate 'System.Reflection.xxx' attribute 总是表示在您的构建过程中有额外的 AssenvlyVersion 可用。

1.So 您需要检查是否将 /p:Version /p:AssemblyVersion 等 MSbuild 参数作为构建参数传递。

2.Make 确定您正在使用 Dotnet build task 构建项目。

3.Double 检查以确保项目目录中没有任何 xx.AssemblyInfo.cs

4.Make 确保 bin/obj 文件夹未在源代码管理中选中。然后删除构建代理的 agent_work 文件夹或 _work 文件夹以创建一个清晰的工作目录。选择 Clean=true 作为您的 Get Source 步骤。