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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了混合模式程序集是针对版本X构建的,如果没有其他配置信息,则无法在运行时的版本Y中加载相关的知识,希望对你有一定的参考价值。

在做了一些代码重构之后,我的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配置?这甚至是正确的解决方案吗?

答案

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

以上是关于混合模式程序集是针对版本X构建的,如果没有其他配置信息,则无法在运行时的版本Y中加载的主要内容,如果未能解决你的问题,请参考以下文章

混合模式程序集是针对“v2.0.50727”错误构建的

混合模式程序集是针对版本“v1.1.4322”构建的

混合模式程序集是针对运行时的“2.0.50727”版本构建的,无法在 4.0 运行时中加载

SQLite.dll混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。

c# .netframwork 4.0 调用 2.0时报错 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。

错误混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。