6

做了一些代码重构后,我的 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 配置添加到哪个配置文件?这甚至是正确的解决方案吗?

4

1 回答 1

9

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

于 2012-04-20T18:36:25.643 回答