我不得不将.NET 3.5迁移到4.0但是一些dll没有加载,谷歌搜索后我发现创建app.config会解决它:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>
</configuration>
我想在不使用配置文件的情况下设置这些选项,是否可能?
答案 0 :(得分:6)
可以在运行时从.NET应用程序或库中设置此项,但有一些限制。您可以使用ICLRRuntimeInfo
界面来处理此问题。有关详细信息,请see this article。
答案 1 :(得分:1)
技术上可行。您必须自己托管CLR,以便在创建主AppDomain之前调用ICLRRuntimeInfo::BindAsLegacyV2Runtime()方法。除非您已经托管,否则.config文件通常会有更低的痛点。