繁体   English   中英

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

[英]Mixed mode assembly is built against old version of the runtime and cannot be loaded without additional configuration

我无法在我的Windows 7工作站上构建一个由前员工编写的项目。 它在他使用的旧XP机器上运行得非常好,我有一个精确的副本。

错误1混合模式程序集是针对运行时的版本“v2.0.50727”构建的,如果没有其他配置信息,则无法在4.0运行时加载。 C:\\ Working \\ Scan \\ v2.5.9.99 \\ ConfigurationTool \\ ConfigurationTool \\ SGEN ConfigurationTool

我已经搜索了此错误消息的解决方案,但我发现所提供的解决方案无法解决问题:(

这是我的配置文件启动的方式,useLegacyV2RuntimeActivationPolicy已经存在。

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
    <requiredRuntime version="v4.0.20506"/>
  </startup>
</configuration>

我已经尝试了每个建议的组合以及完整版和客户端版本的不同配置文件,如此线程中所述没有结果。

在.NET 4.0项目中引用.NET 2.0混合模式程序集需要什么“附加配置”?

有没有人得到修复或任何想法可能导致不同机器上的副本之间的差异?

刚解决它试试这个:

  1. 确保如果你有多个项目,他们都将设置为.net 4完全不是客户端。
  2. 如果不断收到编译器错误,请将“生成序列化程序集”设置为OFF
  3. 如果你正在构建一个插件并且项目的输出是一个dll,你必须为该程序创建一个配置文件(我必须创建“INFOPATH.EXE.config”)

希望能帮助到你

对于我们这个线程帮助: http//social.msdn.microsoft.com/Forums/en/clr/thread/2a5bf31e-df96-4bf1-a846-699da46b62fb

“生成序列化程序集”设置为AUTO,如果VS(在发布模式下)尝试生成它,我们感到不舒服。 线程告诉我们的是,sgen.exe可能(并且可能已经应该)告诉“useLegacyV2RuntimeActivationPolicy”,就像我们在我们自己的app.config中尝试做的那样。 相当晦涩。

我试过以下代码适用于我,两个版本2和4组装工程

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
</startup>

这可能有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM