Kann eine Desktopanwendung, die für die Windows-Plattform entwickelt wurde (z. B. mit MS Visual Studio), auch auf einer Linux-Plattform ausgeführt werden? Wenn ja, bitte geben Sie einige Vorschläge, was getan werden sollte, um sich darauf vorzubereiten.
Angesichts Ihrer Tags nehme ich an, dass es eine .NET-Anwendung ist. Unter dieser Voraussetzung sollten Sie sich das Mono-Projekt ansehen. Ihre App darf ohne Änderungen ausgeführt werden. es kann nach geringfügigen Änderungen ausgeführt werden; es kann grundsätzlich Bits von .NET benötigen, die noch nicht in Mono implementiert wurden.
Um einige überstehende Antworten zu konsolidieren und zu erweitern ...
Wenn Sie bei den von Ihnen verwendeten "Bibliotheksklassen" vorsichtig sind, kann es unter Mono ausgeführt werden.
Falls dies nicht möglich ist, kann WiNE Ihnen möglicherweise erlauben, die Anwendung direkt unter Linux auszuführen.
Wenn alles andere fehlschlägt, ist es immer möglich, eine virtuelle Maschine zu erstellen (mit VirtualBox oder ähnlichem) und eine vollständige Windows-Installation auf dem Linux-Rechner auszuführen, um Ihre Software zu starten.
Wenn Sie Mono verwenden, sollten Sie MoMA überprüfen. Es ist ein Tool, mit dem Sie Kompatibilitätsprobleme identifizieren können.
Dies ist am einfachsten, wenn Sie Ihre Anwendung ausschließlich mit den Steuerelementen GTK # schreiben.
Stellen Sie außerdem sicher, dass Sie Ihren Code unter Verwendung von Mono unter Windows kompilieren und ausführen, um sicherzustellen, dass Sie keine Funktionen oder Bibliotheken verwenden, die die Mono-Laufzeitumgebung nicht unterstützt oder noch nicht alle Funktionen dupliziert hat.
Sie können mit Mono laufen, aber es gibt einige Kompatibilitätsprobleme, wenn Sie in Winforms kommen. Wenn Sie WPF verwenden, dann glaube ich nicht, dass es in Mono genügend Unterstützung gibt, um dies überhaupt zu versuchen. Der beste Weg, obwohl wahrscheinlich keine Option für bereits codierte Projekte, ist die Verwendung von GTK, das von Mono sehr gut unterstützt wird und sowohl unter Windows als auch unter Linux läuft.
Wenn Sie genügend Flexibilität in Bezug auf die Plattform / Sprache haben, die Sie auswählen können, haben Sie möglicherweise viele Optionen, die nicht .Net-spezifisch sind.