Thiago Padilha
Thiago Padilha

Reputation: 4650

Can I set the app.config 'useLegacyV2RuntimeActivationPolicy' attribute programmatically?

I had to migrate a .NET 3.5 to 4.0 but some dll's were not loading, after googling I found that creating an app.config would solve it:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

I would like to setup these options without using configuration files, is it possible?

Upvotes: 2

Views: 3898

Answers (2)

Reed Copsey
Reed Copsey

Reputation: 564791

It is possible to set this at runtime, from within a .NET application or library, with some limitations. You can use the ICLRRuntimeInfo interface to handle this. For details, see this article I wrote.

Upvotes: 6

Hans Passant
Hans Passant

Reputation: 942197

It is technically possible. You'd have to host the CLR yourself so you can call the ICLRRuntimeInfo::BindAsLegacyV2Runtime() method before you create the primary AppDomain. A .config file would normally be a much lower pain point unless you are already hosting.

Upvotes: 1

Related Questions