我们正在将我们的 TFS 构建系统从 2012 年升级到 2015 年,并且正在重新创建我们的构建机器。我们设置了构建服务,安装了必要的依赖项等。(旧版)XAML 构建工作正常,除了以下 SGEN 错误:
SGEN:尝试加载格式不正确的程序集:(已编译项目 .dll 的位置)
经过大量谷歌搜索和阅读大量堆栈溢出文章后,我仍然不知所措。我提到了多个页面,包括: - SGEN:尝试加载格式不正确的程序集
我努力了
- 安装 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 构建 XMAL 模板文件设置 MSBuildPlatform 更改为 x86 (Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.x86)
- 已验证所有项目的生成序列化策略设置都设置为自动
- 将构建定义 MSBuildPlatform 和“构建配置”设置更改为 x86,但这会产生多个(不相关的)错误。最终编译的项目需要以 x64 运行。
还
- C:/Program Files/.... 中没有 sgen.exe,尽管 C:\Program Files (x86) 中有多个。我根本无法确认系统上有 x64 版本,也找不到安装位置。
- 将 build 'configuration to build' 选项设置为 x86 不是一个选项:这需要编译为 x64
我们正在构建一个由不同团队拥有的非常大的代码库,因此除非绝对必要,否则更改 .SLN 或 .csproj 文件并不是一个好的解决方案。