构建服务器上的构建在任何CPU上都失败,但在x86或x64上运行正常

时间:2013-05-22 21:47:07

标签: c#

我有一个基于构建服务器(TFS)构建的项目,如果构建配置是x86或x64,则可以正常工作。拿同一个项目,将其设置为Any CPU,我收到此错误:

  

SGEN:尝试加载格式不正确的程序集:...\....dll

值得一提的是,所有3种构建配置在我的本地开发机器上运行良好。

关于我应该看什么的任何想法?

1 个答案:

答案 0 :(得分:1)

当您尝试在x86进程中加载​​为x64构建的程序集时,会出现错误消息,反之亦然。

为AnyCPU构建的程序集可以加载到x64或x86程序集中,因为它将JIT转换为x64或x86,具体取决于加载它的进程的位数。

与TFS构建相关的此错误有很多可能的原因。我的建议是搜索SO“SGEN:尝试加载格式不正确的程序集”并开始逐步完成已发布的解决方案。严重来说,这是基于您的构建后事件,设置构建工作流工具平台等的不同解决方案的一个非常常见的问题。