Probleme beim Debuggen im Visual Studio / MonoDevelop

Bei einem C# Projekt von mir, welches ich in Visual Studio und MonoDevelop bearbeite, gab es einige Probleme mit dem debuggen. Unter MonoDevelop reichte es die Hauptklasse anzugeben, so das er in diese springen konnte.

Bei Visual Studio fruchtete dies leider nicht. Dort stellt sich die Frage ob es eventuell eine Inkompatibilität zwischen den Projektdateien gibt. Hier ist wohl weitere Forschung nötig.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MonoDevelop
http://de.wikipedia.org/wiki/Visual_Studio

MonoDevelop 2.8 PPA

Wer auf der Suche nach der neusten Version von MonoDevelop (2.8) ist und diese unter Ubuntu benötigt der sollte sich das PPA „ppa:keks9n/monodevelop-latest“ anschauen. Mittels

sudo add-apt-repository ppa:keks9n/monodevelop-latest
sudo apt-get update && sudo apt-get dist-upgrade

kann man das ganze im Terminal aktualisieren.

Danach wird man von der Version 2.8.2 begrüßt :)

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MonoDevelop
https://launchpad.net/~keks9n/+archive/monodevelop-latest

Probleme beim Einbinden einer Bibliothek unter .NET

Man nehme eine .NET/Mono Bibliothek welche als Zielframework .NET 4 benutzt. Nun erstelle man noch eine neue Anwendung und binde in diese Anwendung besagte Bibliothek ein. Nun kann es vorkommen das man beim kompilieren der Anwendung folgende Fehlermeldung bekommt:

The type or namespace name 'FooBar' could not be found (are you missing a using directive or an assembly reference?)

Augenscheinlich hat man eine Referenz vergessen. Zumindest könnte man genau dies bei der entsprechenden Meldung denken. Allerdings ist das ganze in diesem Fall ein Stück gemeiner. Die neu erstellte .NET Anwendung hat als „Target Framework“ nicht „.NET 4 Framework“ eingestellt, sondern „.NET 4 Framework Client Profile“.

Und diesem Profil fehlen ein paar Assemblyreferenzen und wenn man Pech hat benötigt eine Bibliothek genau diese. Hier hilft es dann einfach das „Target Framework“ auf „.NET 4 Framework“ zu stellen. Danach sollte es dann ohne Probleme funktionieren.

Mono auf älteren Ubuntusystemen installieren

Ich betreibe einen Server auf welchen im Moment noch die 10.04 (Lucid) Version von Ubuntu läuft. Auf diesem Rechner benötige ich ein Mono 2.10. Glücklicherweise muss man das ganze nicht von Hand kompilieren, da sich jemand die Arbeit gemacht hat und dafür ein Skript geschrieben hat:

wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/ubuntu/install_mono-2.10.sh
chmod 755 install_mono-2.10.sh
./install_mono-2.10.sh

Nach dem Start des Skriptes ist der Rechner eine Weile beschäftigt, aber danach sollte die Mono Runtime 2.10 auf dem Rechner sein. Sie befindet sich dabei im Ordner /opt/mono-2.10/ kann also zum Beispiel so aufgerufen werden:

/opt/mono-2.10/bin/mono autoupdate.exe

Weitere Informationen gibt es unter:
http://www.integratedwebsystems.com/2011/02/mono-2-10-install-script-for-ubuntu-fedora/
http://www.integratedwebsystems.com/2011/08/install-mono-2-10-3-on-ubuntu-using-bash-script/

MonoDevelop und GTK# und Windows 7 Probleme

Wenn man in MonoDevelop eine GTK# Anwendung schreibt und sie zwingt auf „jeder CPU“ zu laufen so wird diese Anwendung beim Start abstürzten. Meist sieht das dann so aus:

Unbehandelte Ausnahme: System.TypeInitializationException: 
Der Typeninitialisierer für "Gtk.Application" hat eine Ausnahme verursacht. 
System.BadImageFormatException: Es wurde versucht, eine Datei mit einem falschen Format zu laden.
(Ausnahme von HRESULT: 0x8007000B)

 bei GLib.Thread.glibsharp_g_thread_supported()
 bei GLib.Thread.get_Supported()
 bei Gtk.Application..cctor()
 
--- Ende der internen Ausnahmestapelüberwachung ---
 bei Gtk.Application.Init()
 bei testapp.MainClass.Main(String[] args) in d:\testapp\Main.cs:Zeile 10.

Das Problem ist wohl das es noch keine x64 GTK# Bibliothek für Windows gibt. Aus diesem Grund sollte man seine Assemblys auf x86 stellen, dann klappt es auch mit Windows 7.

Weitere Informationen gibt es unter:
http://mono.1490590.n4.nabble.com/windows-7-x64-and-gtk-app-td1516626.html