Smart Client Software Factory on Mono
Recently, Miguel posted that Microsoft's Enterprise Library 4.0 is now available under the Ms-PL, a Mono compatible open source license. This week, I downloaded the Smart Client Software Factory (SCSF) to see if it would run under Mono. It comes with a QuickStart tutorial called BankShell that I used to test with.
I hit two bugs in Mono:
430932 - IsolatedStorageFile.GetStore throws exception
431001 - Exception using XmlTextReader after stream is disposed
I also hit one bug in the SCSF:
18740 - ModuleInfo constructor not cross-platform safe
After commenting out or working around the offending lines, the BankShell application popped up and seemed to work nicely.
The sample application looks simple, but it's actually pretty complex. Each UI element is in a different assembly. The "composite application" dynamically loads each one and places them. The theory is that the application can be broken down into smaller pieces that can be distributed to different teams to build and maintain, and the results are put together to form the whole application.
I hit two bugs in Mono:
430932 - IsolatedStorageFile.GetStore throws exception
431001 - Exception using XmlTextReader after stream is disposed
I also hit one bug in the SCSF:
18740 - ModuleInfo constructor not cross-platform safe
After commenting out or working around the offending lines, the BankShell application popped up and seemed to work nicely.
The sample application looks simple, but it's actually pretty complex. Each UI element is in a different assembly. The "composite application" dynamically loads each one and places them. The theory is that the application can be broken down into smaller pieces that can be distributed to different teams to build and maintain, and the results are put together to form the whole application.
Comments
How long did it take to port the software?
The rest of the time was spent analyzing why those lines were crashing and distilling it down to simple test cases I could file on Mono.
Regards
Jan Waiz
jwa@mono-project.de