我可以通过编程方式设置app.config'useLegacyV2RuntimeActivationPolicy'属性吗?

时间:2010-05-27 19:28:02

标签: c# .net wpf configuration app-config

我不得不将.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>

我想在不使用配置文件的情况下设置这些选项,是否可能?

2 个答案:

答案 0 :(得分:6)

可以在运行时从.NET应用程序或库中设置此项,但有一些限制。您可以使用ICLRRuntimeInfo界面来处理此问题。有关详细信息,请see this article

答案 1 :(得分:1)

技术上可行。您必须自己托管CLR,以便在创建主AppDomain之前调用ICLRRuntimeInfo::BindAsLegacyV2Runtime()方法。除非您已经托管,否则.config文件通常会有更低的痛点。