Let our performance work for you!

Ok, so we have released the .NET Compact Framework 2.0 and you have heard about all of our performance enhancements.

You download .NET Compact Framework 2.0 and install it on your device. You then start your application and hope to see the new performance gains. However, there are no noticeable gains!?

I am assuming that you have .NET Compact Framework 1.0 still on the device. The .NET Compact Framework v2 is a side-by-side (SxS) install, and by default we have an “opt-in” policy for running applications targeted at v1 on v2, so you will need to go write a configuration file for your application…

  • Copy the following XML data

<configuration>

  <startup>

    <supportedRuntime version="v2.0.5238"/>

    <supportedRuntime version="v1.0.4292"/>
<supportedRuntime version="v1.0.3316"/>
<supportedRuntime version="v1.0.3111"/>
<supportedRuntime version="v1.0.2268"/>

  </startup>

</configuration>

  • Create a file called <appname>.exe.config containing the above XML
  • Save a copy of the file in the same locations as the exe on your device

Now your application will run on .NET Compact Framework 2.0 and take advantage of the new performance enhancements! Compatibility between versions of the .NET Compact Framework is a fundamental for our team, so your v1 applications should just run seamlessly on v2. If this is not the case, please use the Microsoft Product Feedback Center to report issues.

Note: Inclusion of the v1 runtime versions in the config file is a subtly important. The scenario where this matters is when you install and then uninstall v2. In this situation, you would still be left with the v2 of mscoree.dll which determines which version of the runtime to load. Since the semantics of the configuration file is exact binding, you need to specify all possible bindings that you support. In this case, mscoree.dll will try 2.0 RTM (5238) first, then 1.0 SP3 (4292), then 1.0 SP2 (3316), then 1.0 SP1 (3111) and finally 1.0 (2268) in respective order.

BR/ Scott

This posting is provided "AS IS" with no warranties, and confers no rights.