Friday, January 23, 2009

Microsoft .Net 2 SP1 Breaking Changes

We recently received feedback about an issue with the HTML Documentation Wizard failing to generate any files (see Knowledge Base). When we investigated further we found that the latest build 7.0.2 had an optimization included to run Garbage Collection to reduce the memory footprint when generating as large XML Schema could cause memory issues.

Unfortunately, we fell foul of the fact that .Net 2 SP1 introduced methods that did not exist in .Net 2. So any code that targets .Net 2 but calls any of the new SP1 methods will break on PCs that don't have SP1. This is made more likely as Visual Studio 2008 installs .Net 2 SP1, but has no way of showing the SP1 only methods in the intellisense.

This is an issue we have previously picked up during testing E.g. when using the FileDialog.AutoUpgradeEnabled Property. But it would appear for our latest point release 7.0.2, the test environment had .Net 2 SP1 installed, so the issue was not picked up...a warning to all you .Net 2 developers!

For clarity, it would probably have been better if Microsoft had moved the version to 2.1 when they released .Net 2 Service Pack 1.

This issue will be fixed in the next point release of Liquid XML Studio, in the meantime you can fix this by installing .Net 2 SP1.