New update, addressing error popups, at the end.
In case you missed it or normally just don’t care, the Mono Project recently released Mono 2.8 – essentially, Mono for .Net 4.0. One of the first things I went looking for after installing Mono 2.8 today was integration with Visual Studio 2010.
I quickly found the Mono Tools, but didn’t feel like paying for something that is doing more than I need right now – I’m not pushing to Linux any time soon; I’m looking for easy code migration to MonoDevelop & OSX/iOS. Next, I found a post from Jonathan Pobst that looked promising, but it was talking about older versions of Visual Studio and Mono 2.4/.Net 3.5. Close, but not quite.
So, I basically cribbed off Jonathan’s notes to put together a profile for 2.8/4.0 that thus far seems to be working well.
You can integrate the new Mono 2.8 profile with 3 simple steps:
- Download the profile itself from here.
- Unzip the contents of the profile Zip to one of the following directories:
- 32-bit systems: C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile
- 64-bit systems: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile
- The “Mono” folder in the ZIP should be directly under the “Profile” directory.
- Restart Visual Studio if it had been running, open the properties of the project you want to use with Mono, and select the Mono Profile for 2.8:
Note: You will not be able to select the Mono Profile straight from the New Project dialog box; for some reason, that list of profiles doesn’t match. Create your project as a .Net Framework 4.0 project first, and after creation set the project properties to Mono.
If you’ve upgraded your MonoDevelop install to the latest version (as of today, anyway), this Visual Studio solution & Project file will open with no problem – no changes required at all.
So what does this buy you? Proper reference alignment within Visual Studio, Intellisense that works against the Mono version of the Framework, and, as I said, easy code and project sharing with MonoDevelop across OSX and (I would assume, I haven’t tried) Linux installs.
Enjoy, and if you find any incongruities or things that are just plain wrong, definitely let me know.
I had the same problem, the error dialog telling me I should download “.NETFramework,Version=v4.0,Profile=Mono” in order to run my application.
The trick was to create registry key. For me, running Windows 7 x64, it was:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\
.NETFramework\v4.0.30319\SKUs\
.NETFramework,Version=v4.0,Profile=MonoI suppose for x86 it’s
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\
v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono(Where v4.0.30319 would be the version of the current 4.0 framework installed.)
Hope that helps!
– Markus Mayer, in the comments
I’m sure that’ll help a ton of people Markus – thanks for tracking that down!
Mental note… remember to document stuff like this that I do so I still have it when I build a new system.





Compilation works fine but
I keep getting a “.net framework initialization error”
when I try to run the exe.
http://img522.imageshack.us/img522/8981/clipboard01ck.png
(happens also with your profile which is 2.8 not 2.8.1)
any ideas?
I have the same problem – “.NET framework initialization error” running under Windows7 64-bit. Do you have a solution for this problem?
I get
Error 1 The type or namespace name ‘Mvc’ does not exist in the namespace ‘System.Web’ (are you missing an assembly reference?)
in every file which is using System.Web.Mvc.
Does mono 2.8 not include MVC? My MonoDeveloper can create MVC Applications without problems.
I had the same problem, the error dialog telling me I should download “.NETFramework,Version=v4.0,Profile=Mono” in order to run my application.
The trick was to create registry key. For me, running Windows 7 x64, it was:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono
I suppose for x86 it’s
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono
(Where v4.0.30319 would be the version of the current 4.0 framework installed.)
Hope that helps!
The current version doesn’t have the Microsoft.visualbasic.dll to support Visual Basic Development. Will this be included at some point?
As I don’t have VB installed on my local environment, I doubt it – not by me at least. Sorry.
We are trying to convert StudyX to mono and would love to see a VB .NET profile for the newest mono (2.8). Do you know if anyone has made one?
Hi Greg,
Thanks a million for a well written article. I Kindly request you to let me know how to overcome this error :
WARNING: The runtime version supported by this application is unavailable
Using default runtime: v1.1.4322
** (WindowsFormsApplication2.exe:608): WARNING **: The class System.ComponentModel.BindingList`1 could not be loaded, used in System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e
089
Iam running using mono tools and have the target framework set to mono 2.8 ,
or am I missing a profile for the 3.0 version of mono ?
Off the top of my head, I’m not sure. Try posting this up on http://stackoverflow.com, you’ll probably have better luck there.