混合模式程序集是针对版本X构建的,如果没有其他配置信息,则无法在运行时的版本Y中加载

时间:2012-03-19 14:45:45

标签: crystal-reports assemblies runtime version sgen

完成一些代码重构后,我的VS2010 VB.Net Web应用程序项目已停止编译,出现以下错误:

“混合模式程序集是针对运行时的版本'v1.1.4322'构建的,如果没有其他配置信息,则无法在4.0运行时加载。”

在Visual Studio的“文件”列中,错误列表是“SGEN”,但是当我双击时,该文件不存在(“文档无法打开。它已被重命名,删除或移动“)我认为它与序列化有关,但是所需的附加配置信息是什么?我花了几个小时研究错误,每个人都说将以下内容添加到app.config文件的配置选项卡中:

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

但是,我已将此添加到我可以找到或创建的每个配置文件中,到目前为止它没有帮助。

我怀疑部分问题可能是Crystal Reports,其DLL实际上是针对dot net的v1.1.4322构建的。

我应该在哪个配置文件中添加legacyRuntime配置?这甚至是正确的解决方案吗?

1 个答案:

答案 0 :(得分:9)

我通过在我的应用程序配置中将“生成序列化程序集”从“自动”更改为“关闭”来编译项目。关于useLegacyV2RuntimeActivationPolicy在互联网上的建议似乎是我的情况的一个红色鲱鱼。