1

Windowsフォームを使用するC#コードを含むいくつかのソースコードをダウンロードしました。Linux環境(Ubuntu 12.04)でコードをコンパイルして実行することは可能ですか?

私はすでにいくつかのC#ソースコードをmcsでコンパイルし、結果のexeファイルをmonoで実行しようとしました。

ソースコードはこちらからダウンロードできます。可能であれば、第2章/OpeningDocumentソリューションをどのようにコンパイルして実行するかを説明してください。

$ mcs Program.cs 
Program.cs(3,14): error CS0234: The type or namespace name `Windows' does not exist in the namespace `System'. Are you missing an assembly reference?
Compilation failed: 1 error(s), 0 warnings

編集

$ gmcs -pkg:dotnet Program.cs 
Program.cs(17,33): error CS0246: The type or namespace name `Form1' could not be found. Are you missing a using directive or an assembly reference?
Program.cs(17,25): error CS1502: The best overloaded method match for `System.Windows.Forms.Application.Run(System.Windows.Forms.Form)' has some invalid arguments
/usr/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll (Location of the symbol related to previous error)
Program.cs(17,25): error CS1503: Argument `#1' cannot convert `object' expression to type `System.Windows.Forms.Form'
Compilation failed: 3 error(s), 0 warnings
4

2 に答える 2

4

最新バージョンのMonoを使用していない場合、これは機能するはずです。

gmcs -pkg:dotnet *.cs

モノの最新バージョンはのmcs代わりに使用しgmcsます。以前のものでは、mcs.NET1.1をターゲットにしています。

于 2012-06-12T16:47:11.550 に答える
2

モノマイグレーションアナライザーに対してコードを実行して、何が失敗するか、またはサポートされていないかを確認することをお勧めします。ツールはここにあります:http ://www.mono-project.com/MoMA 。ツールを機能させるには、Windowsマシンにアクセスする必要があります。

http://www.mono-project.com/Compatibilityで、さまざまな.Net機能との現在のmono互換性を確認することもできます。

特にWindowsフォームについては、http ://www.mono-project.com/WinFormsを参照してください。

お役に立てれば。

于 2012-06-12T16:51:26.643 に答える