PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mono - Anwendungen portieren



Sandmann
06-06-2005, 14:57
Moin Z'samm

ich weiss nicht ob dass das geeignete Forum für meine Frage ist aber ich bi mir total unsicher wo es hingehört. Also büdde nicht gleich lünchen ;)

Also: Ich habe auf meiner Suse 9.3 Kiste Mono 1.1.7 installiert. Auf meiner WinXP Prof SP2-Kiste auch. Wenn ich nun eine Anwendung unter Windows compiliere läuft sie unter beiden Betriebssystemen. Wenn ich sie aber unter Linux compiliere läuft sie nur unter Linux. Unter Windows kommt der Fehler "cannot open assembly xXx.exe".
Verstehe ich was falsch? Ich dachte man kann die kompilierten Programme dann immer gleich auf beiden Plattformen verwenden... oder muss man sie schon für jede Plattform neu compilieren? das würde aber m. E. nicht viel Sinn machen oder irre ich mich da?

Thx for help bei meinem ersten Post ;)

peschmae
06-06-2005, 15:33
Es sollte gehen, ja. Aber eventuell ist der Output des mono-Compilers ja nicht 100%ig kompatibel mit der .NET Laufzeitumgebung. Auch wenn er das eigentlich sein sollte - naja. Oder hast du auf Windows etwa auch Mono verwendet?

MfG Peschmä

Sandmann
06-06-2005, 15:55
Öhm also ich habe ein ganz doofes HelloWorld Scripts. Auf beiden OS habe ich es mit mcs, also dem Mono Compiler compiliert.

Oder was meinst du?

BeS
06-06-2005, 17:09
Hallo,
das sollte eigentlich problemlos gehen, vorausgesetzt du hast unter windows Mono richtig installiert und alle Pfade usw. sind richtig gesetzt, davon kann man aber ausgehen wenn du unter windows Programme kompilieren und ausführen kannst.

Startes du das Programm wirklich beides mal auf die gleiche Art unter windows?
Über den Filemanager (mit doppel-Klick) lassen sich nämlcih afaik nur Programme starten die mit dem MS kompiler übersetzt wurden.
Am besten ist es also, wenn du es in der Mono-Konsole mit "mono programm.exe" startest.

PS: Ansonsten wäre natürlich konkrete Fehlermeldungen und der Quellcode nicht schlecht.

Sandmann
07-06-2005, 07:14
Okay, der Quellcode wird dir nicht viel bringen aber ich poste ihn gerne mal :-)



using System;
class HelloWorld
{
public static void Main(){
Console.WriteLine("Hallo Welt\n");
}
}


Ich starte beides mal mit "mono programm.exe" in der Eingabeuafforderung. Ich find es halt komisch das es in die eine Richtung geht, in die andere aber nicht. Die Version sind doch eigentlich die gleichen!