No description, website, or topics provided.
Shell C#
Latest commit 974c9ef Jan 24, 2017 Vincent Povirk Update mono from upstream.


Wine Mono is a package containing Mono and other projects, intended as a replacement for the .NET runtime and class libraries in Wine. It works in conjunction with Wine's builtin mscoree.dll, and it is not intended to be useful for any other purpose.


To obtain the source code, clone it from github:

$ git clone --recursive git://

To get to the source code for a specific release, check out the appropriate tag, and update the submodules:

$ git checkout wine-mono-0.0.2
$ git submodule update --recursive

Source tarballs and binary packages are available at


To build Wine Mono, you will need the following:
 * All of the dependencies of Mono for your native (presumably Linux) system, such as autotools, a C++ compiler, and a C# compiler (so that Mono ban bootstrap its own).
 * Wine, for the winemsibuilder and cabarc commands.
 * A 32-bit and 64-bit version of Mingw-w64, including a C++ compiler.


To build Wine Mono, run the script.

$ ./

This will reconfigure and rebuild Mono every time unless the -r switch is passed.

You can set the MAKEOPTS environment variable to use multiple CPUs for some of the build process.

If you supply the -t switch, the Mono test suite will be built and put in directories named like tests-net_*. These directories should be self-contained and work on any .NET implementation, using nunit-console.exe to run the tests. I'm not sure that all of it works, though, since the Mono test suite wasn't designed to be used this way.


To install Wine Mono, run the generated msi file with msiexec:

$ msiexec /i winemono.msi

Note that if a Wine Mono with a version number >= to this file is already installed, that command will do nothing, so you may have to remove the existing version (using 'wine uninstaller') first.

If you are making only a few changes that you need to test, it may be more convenient to copy the individual files from the image/ directory to .wine/drive_c/windows/mono/mono-2.0.


An installed Wine Mono contains the following:
 * Registry keys and files in C:\windows\Microsoft.NET intended to make it look as if Microsoft .NET is installed, so that applications won't complain that it's missing, and the installers for Microsoft .NET won't install. (Wine Mono should always be removed before installing Microsoft .NET.)
 * A modified version of the Mono runtime and standard class libraries, in C:\windows\mono\mono-2.0.
 * A replacement for the Visual Basic calss libraries, in the Mono GAC (C:\windows\mono\mono-2.0\lib\mono\gac).


Bugs involving the use of this package to run Windows programs in Wine should be filed in the Wine bugzilla ( with product set to "Wine" and component set to "mscoree". Bugs in Wine Mono's build system or packaging can also be filed in Wine's bugzilla, or they can be filed as an issue on the wine-mono github.


Patches should be sent as a pull request to or the appropriate submodule.

Before sending a patch for one of Wine Mono's forks, please consider whether it would be more appropriate to send to the upstream project. We'd like to keep the diff from upstream to a minimum, so the changes should either be appropriate for Wine but inappropriate for upstream for some reason, or sufficiently important to bypass the upstream project.