Wine-Mono Isn't Too Fit For .NET
Over the past few months there's been several Phoronix articles about Wine-Mono, a fork of Mono and a Win32 build of this open-source Microsoft .NET implementation for Wine. Wine-Mono can be used in place of Microsoft's official .NET framework when it's needed as a dependency for Windows programs running within Wine. Unfortunately, Wine-Mono doesn't always work out well.
Wine-Mono was talked about at the FOSDEM 2013 meeting in Brussels this past weekend in a presentation by Vincent Povirk. Wine-Mono is a specialized upstream Mono code-base that tries to avoid differences with upstream while also being a build for Windows itself -- upstream Mono hasn't been too interested in Mono on Windows but rather for Linux, various mobile operating systems, and other platforms. Wine can't use the Linux version of Mono because it needs to call back into Wine. This specialized Mono build also has registry keys and files for preventing programs from using/installing the native Microsoft .NET run-time. This forked version also bundles in some projects not directly in the Mono code-base, such as some VB class files.
Problems for some Wine users with using the official Microsoft .NET implementation is that its End-User License Agreement requires a Windows license to install .NET, .NET can't be used for porting applications also due to EULA restrictions, and there's a few rare cases where Wine-Mono happens to work better than .NET.
Unfortunately, Wine-Mono doesn't have a vibrant active developer community and its lead developer doesn't expect to achieve much success in the years ahead. "At the rate I'm getting work done, I don't expect much improvement in the next few years."
"I spend more time debugging than making useful changes... It's sort of discouraging," Vincent Povirk added. he also said that he's been overwhelmed by the size and scope of .NET and Mono. In the end the FOSDEM 2013 presentation on Wine-Mono came down to a cry for help in an attempt to attract more development attention to Wine and Mono.