Herstellung von vorhandenen C # Windows-Anwendung auf Linux laufen
Frage
Duplizieren: Run .NET exe in Linux
Hallo,
Ist es möglich, meine machen vorhandene Windows Forms-Anwendung von Visual Studio 2008 und .NET Framework 2.0 läuft unter Linux, die mit weniger in Linux durch neu zu kompilieren / Keine Code-Änderungen?
Danke
Lösung
sehr gut möglich, jedoch je nach Anwendung der Leistung kann variieren. No-nos enthalten Bibliotheken von Drittanbietern / DLLs, die auf COM abhängen und Win32-Aufrufe und P / Invokes. Sie können auch für Code achten haben, die Datei / Verzeichnis Verkettung der Fall ist, wie Unix „/“ als Trenn verwendet, während Windows verwendet „\“.
Andere Tipps
Ich schlage vor, Sie den gleichen Code in der Mono IDE neu kompilieren und durch irgendwelche kleine Änderungen machen, die erforderlich sein können. Ich habe das viele Male getan.
Sie können einige Informationen hier abholen: Run .NET exe in linux
ja Sie können, zuletzt habe ich geprüft, ihre Datagridview zu verbessern, kann es Spalten jetzt verstecken, aber ihre Virtual auf dgv ist noch nicht arbeiten.
Ich benutze Mono vor allem für Sachen Remoting ist der Datetime-Typ jetzt Remoting-kompatibel (yipee!) In Mono 2.4. vor (in 1.9), muß ich meine Datetime-Felder zu bespannen gegossen, so dass es aus transportiert werden kann und die mittlere Ebene zu Remoting, wird dies in 2.4 nicht mehr benötigt.
Mit dieser Richtlinie für das Schreiben portable Software: http://mono-project.com/Guidelines:Application_Portability
ein Beispiel:
portable Software zu schreiben, müssen Sie stellen Sie sicher, dass Sie die Verwendung System.IO.Path.DirectorySeparatorChar (Http: / monodoc / P: System.IO.Path.DirectorySeparatorChar) Charakter, wenn Sie verketten müssen Pfade, oder noch besser, verwenden Sie die System.IO.Path.Combine (Http: / monodoc / M: System.IO.Path.Combine (string, Zeichenkette)) Verfahren Pfadnamen zu kombinieren.