Configuring your V1.1 apps to run against V1.0
A friend of mine was trying to get his V1.1 app to run against V1.0 without much luck. His config file had a startup section that looked like this:
<startup>
<supportedRuntime version=”v1.1.4322”/>
<supportedRuntime version=”v1.0.3705”/>
</startup>
This will NOT work on V1.0!
In V1.0, the V1.0 shim has no support for <supportedRuntime> tags so actually does not know what they mean.
Now, here is where it gets unintuitive:
In V1.1, they started worrying about backwards/forwards compatibility and decided that perhaps the <requiredRuntime> tag was not the best thing to use and introduced the <supportedRuntime> tag.
The V1.1 shim actually checks for the <supportedRuntime> tag first, and if it finds it ignores the <requiredRuntime>.
So, in V1.1 even if you have something like:
<?xml version=”1.0”>
<configuration>
<startup>
<requiredRuntime version=”v1.0.3705”/>
<supportedRuntime version=”v1.1.4322”/>
<supportedRuntime version=”v1.0.3705”/>
</startup>
</configuration>
The V1.1 app will still run on V1.1 because the V1.1 shim reads the <supportedRuntime> tags first.
The V1.1 app WILL NOT run on V1.1 though, if you don’t include the <supportedRuntime> tags and only have the <requiredRuntime> tag.
<?xml version=”1.0”>
<configuration>
<startup>
<requiredRuntime version=”v1.0.3705”/>
</startup>
</configuration>
In this case, the V1.1 shim sees the <requiredRuntime> tag since there are no <supportedRuntime> tags.
Comments
- Anonymous
April 21, 2004
So how exactly does one write code that will run under any .Net framework isntalled? Or will we all have to re-release our apps once V2 comes out? - Anonymous
April 27, 2004
The comment has been removed - Anonymous
April 28, 2004
so how was Las Vegas? - Anonymous
November 25, 2007
PingBack from http://feeds.maxblog.eu/item_1041865.html