Beta 2 is out and Enterprise Library doesn’t work . The problem is a few regression bugs in Whidbey (most of them with the XmSerializer). I have actually got everything working on Beta 2 and want to give you a few pointers to get it working.
- If you don’t care about the obsolete classes / methods, you can turn off warning level 4 down to level 3 in each project properties. If not you have to fix all the errors from warnings. If you want to be really cool you can use pragmas (yeah they finally got it right (geez C++ has had the for a while now).
- Any type in your configuration data that can be null can not be an abstract class. The problem is that the XmlSerializer does not care that something is null (nil), it stills tries to instantiate the class. To fix this, make any of these types concrete and not abstract. The two biggest classes are TransformerData and KeyAlgorithmPairStorageProviderData. So what most of you are seeing right now is that when you don’t specify a key storage provider for configuration, it blows up. That is because it is trying to instantiate KeyAlgorithmPairStorageProviderData class which is abstract.
- The XmlSerializer no longer supports the CDATA sections . So in logging in the TextFormatterData class, you will have to change the template to something else like an XmlNodeList or if you don’t care about reading the template, a base64 encoded string.
- The ConfigurationDesignHost implements the IDictionaryService interface. Kill it. Remove it completely. In truth, this was never supposed to work (according to the System.ComponentModel guys). You are only to have one IDictionaryService per Site. Ok another reason to remove it, no one ever uses it . This should get the tool working.
Since this may not be everything (I just have had one pass through the code), post or email me other changes and I will try and keep this article up to date.