【问题标题】:TFS 2015 build SGEN error: 'assembly with incorrect format'TFS 2015 构建 SGEN 错误:“格式不正确的程序集”
【发布时间】:2016-11-21 11:14:25
【问题描述】:

我们正在将我们的 TFS 构建系统从 2012 年升级到 2015 年,并且正在重新创建我们的构建机器。我们设置了构建服务,安装了必要的依赖项等。(旧版)XAML 构建工作正常,除了以下 SGEN 错误:

SGEN:尝试加载格式不正确的程序集:(已编译项目 .dll 的位置)

在谷歌搜索和阅读大量堆栈溢出文章之后,我仍然不知所措。我提到了多个页面,包括: - SGEN: An attempt was made to load an assembly with an incorrect format

我试过了

  • 安装 Windows SDK 8.1(和 8.0)、6.1、SDK for Win Server 2008 .net 3.5
  • 将 .Net 3.5 安装到 4.6.1
  • 安装 Visual Studio 2010、2012、2015
  • 将 TFS Build XMAL 模板文件设置 MSBuildPlatform 更改为 x86 (Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.x86)
  • 已验证所有项目的“生成序列化策略”设置为自动
  • 将构建定义 MSBuildPlatform 和“构建配置”设置更改为 x86,但这会产生多个(不相关的)错误。最终编译的项目需要以 x64 格式运行。

还有

  • 虽然 C:\Program Files (x86) 中有多个,但 C:/Program Files/.... 中没有 sgen.exe。我根本无法确认系统上有 x64 版本,也找不到安装位置。
  • 将 build 'configuration to build' 选项设置为 x86 不是一个选项:这需要编译为 x64

我们正在构建一个由不同团队拥有的非常大的代码库,因此除非绝对必要,否则更改 .SLN 或 .csproj 文件并不是一个好的解决方案。

【问题讨论】:

  • 建议您删除旧的构建代理并重新配置一个新的然后重试。

标签: tfs msbuild tfsbuild tfs-2015 sgen


【解决方案1】:

解决方案和项目文件中的目标平台不正确。我相信在解决其他问题的过程中,我已经修改了项目和解决方案文件平台目标。

由于此次升级是一次试运行,我们能够再次运行升级,这实际上将代码回滚到升级前的最后一组代码。

【讨论】:

    猜你喜欢
    • 2016-10-31
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多