Compartilhar via


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