Linuxで既存のC#Windowsアプリケーションを実行する
質問
こんにちは、
Visual Studio 2008と.Net framework 2.0を使用して作成された既存のWindowsフォームアプリケーションを、コードの変更を少なくしてLinuxで再コンパイルすることにより、Linuxで実行することは可能ですか?
ありがとう
解決
ただし非常に可能性がありますが、アプリケーションによっては走行距離が異なる場合があります。 no-nosには、COMおよびWin32呼び出しに依存するサードパーティのライブラリ/ DLL、およびP / Invokesが含まれます。 unixは" /"を使用するため、ファイル/ディレクトリの連結を行うコードにも注意する必要があります。 Windowsが" \"を使用している間、ディレクトリ区切り文字として。
他のヒント
Mono IDEで同じコードを再コンパイルし、必要に応じて小さな変更を加えることをお勧めします。これを何度もやった。
ここで情報を入手できます: Linuxで.NET exeを実行
ええ、最後に確認したとおり、DataGridViewは改善され、列を非表示にできるようになりましたが、dgvのVirtualModeはまだ機能していません。
私は主にRemotingにMonoを使用していますが、Mono 2.4ではDateTime型がRemoting互換です(yipee!)。以前(1.9)では、日時フィールドを文字列にキャストして、Remoting中間層との間で転送できるようにする必要がありました。これは2.4ではもう必要ありません。
ポータブルソフトウェアを作成するには、次のガイドラインを使用します。 http://mono-project.com/Guidelines:Application_Portability
例:
ポータブルソフトウェアを作成するには、 必ず使用してください System.IO.Path.DirectorySeparatorChar (http:/ monodoc / P:System.IO.Path.DirectorySeparatorChar) 連結する必要がある場合の文字 パス、またはさらに良い、を使用します System.IO.Path.Combine (http:/ monodoc / M:System.IO.Path.Combine(string、string)) パス名を結合する方法。