Is there a tutorial that tells how to write a profile for mono 3.0 so that I can use it with
Microsoft Visual studio 2010 ?
The reason behind the same is that my application makes use of a Binding List and when I try to run in Mono , I get this error :
** (WindowsFormsApplication2.exe:608): WARNING **: The class System.ComponentModel.BindingList`1 could not be loaded, used in System, Version=4.0.0.0,
or in case a profile is already written , can you please share the same
I created my own 4.5 Profile for Mono 3.0.1 Beta for VS 2012 on a Windows 8 64-bit machine based on this.
- Create a folder called Mono
- Inside this folder, create another folder called RedistList
- Copy C:\Program Files (x86)\Mono-3.0.1\lib\mono\4.5 into folder Mono
- Inside folder RedistList, create a file called FrameworkList.xml
- Paste the following into file FrameworkList.xml:
<?xml version="1.0" encoding="utf-8"?>
<FileList Redist="Mono_3.0.1" Name="Mono 3.0.1 Profile" RuntimeVersion="4.5" ToolsVersion="4.5"></FileList>
- Navigate to C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\ .NETFramework\v4.5 and create a folder called Profile
- Copy your folder Mono into folder Profile
Add the following to registry to stop Visual Studio asking for installation of this profile:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.5,Profile=Mono
Now you should be able to select and compile against this profile. This steps might be slightly different on 32-bit machines (see link at top).
You should play with the MONO_LOG_LEVEL and MONO_LOG_MASK environment variables (especially, consider using "asm" value for the latter). All is explained here: http://www.mono-project.com/Logging_Runtime_Events
This will give you enough insight of what is happening.
On a side note, why do you need Mono in Windows? Unless you're doing very advanced things (such as embedding mono), I recommend you to only use Mono in Unix-like OSs, like Mac or Linux, which is where it shines. Mono in Windows is sub-standard quality because in Windows you have the .NET runtime from Microsoft anyway.