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

问题

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

解决方法

在生成的debug文件中找到文件名字为“工程名.exe.config”的文件。
将内容改添。

原来的代码:
<?xml version="1.0"?>
<configuration>
    <supportedRuntime version="v4.0" sku = ".NETFramework,Version=v4.0"/>
  </startup>
</configuration>


----------
改后的代码:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku = ".NETFramework,Version=v4.0"/>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>

通过代码可以发现,多加了一个配置节。
<startup useLegacyV2RuntimeActivationPolicy="true">
这段配置节的意思是:启用 .NET Framework 2.0 版 运行时激活策略,这是通过使用最新支持的运行时加载所有程序集。
然后需要在startup配置节的字节中添加 supportedRuntime配置节,并指定为“v4.0”。
问题就出现在以前用的.NET版本和现在用的不不同。需要添加配置使他们兼容。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值