【问题标题】:Error CS0579 occurs on TFS build agent but succeeds when build is run locallyTFS 构建代理上出现错误 CS0579,但在本地运行构建时成功
【发布时间】:2020-12-28 20:31:23
【问题描述】:

我的 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 并且 在 csproj 中已经设置了 false 属性。

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

【问题讨论】:

  • 这个讨论对你有帮助吗? stackoverflow.com/questions/10311347/… 基本上删除 AssemblyInfo.cs 文件似乎会有所帮助。
  • 这能回答你的问题吗? Duplicate AssemblyVersion Attribute
  • 修改csproj,加上<GenerateAssemblyInfo>false</GenerateAssemblyInfo>这个属性,结果如何?此外,如果您的项目包含 AssemblyInfo.cs 文件,请尝试删除它。
  • @LanceLi-MSFT 我们已经在 csproj 中设置了该属性
  • @KorayElbek 已经没有 AssemblyInfo.cs 抱歉应该提到

标签: c# .net-core tfsbuild


【解决方案1】:

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

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

2.确保您使用Dotnet build task 来构建项目。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 2017-03-21
    • 2019-04-06
    • 2013-08-23
    • 1970-01-01
    相关资源
    最近更新 更多