Mono

提供: ArchWiki
2018年3月29日 (木) 21:57時点におけるKusakata (トーク | 投稿記録)による版 (→‎トラブルシューティング: 同期)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Mono は C# と CLR のオープンソースでクロスプラットフォームの実装で Microsoft.NET とバイナリ互換があります。

インストール

Mono は mono パッケージでインストールすることができます。

VisualBasic.Net のサポートが必要な場合は、mono-basicAUR パッケージで VisualBasic.Net インタプリタをインストールしてください。

MonoDevelop はプロジェクトの実行時に xterm を呼び出します。コンソールアプリケーションを作成するときは、インストールしてください。

Mono アプリケーションの実行

Mono バイナリは mono を手動で呼び出すことで実行できます:

$ mono programsname.exe

ネイティブバイナリと同じように、Mono バイナリを直接実行することも可能です:

$ chmod 755 exefile.exe
$ ./exefile.exe

Mono のテスト

新しいファイルを作成:

test.cs
using System;

public class Test {
 public static void Main(string[] args) {
  Console.WriteLine("Hello World!");
 }
}

そして実行:

$ mcs test.cs
$ mono test.exe
Hello world!

開発

Mono/C# の開発を始めるのはとても簡単です。monodevelop-gitAUR パッケージで MonoDevelop IDEインストールしましょう。

もしくは riderAUR IDE をインストールして使うこともできます。

API ドキュメントブラウザやテスト・開発ツールが欲しい場合は mono-tools をインストールしてください。

トラブルシューティング

cannot execute "path/to/your/binary" file name has not been set

MonoDevelop はプロジェクトの実行時に xterm を起動するので xterm をインストールしてください。

Mono バイナリを直接実行しようとした時にエラー: "cannot execute binary file"

Mono の binfmt_misc ハンドラがセットアップされていません。詳しくは Mono Project ウェブサイト で説明されています。

これを修正するには、systemd-binfmt サービスを再起動してください。

TLS ハンドシェイク (もしくは同じような証明書の) エラー

mozroots --import --ask-remove を実行して mono の証明書をアップデートしてみてください。mozroots は mono パッケージに含まれています。

F# のビルド時にエラー: "System.TypeInitializationException: The type initializer for 'System.Console' threw an exception"

mcs で fsharp をビルドしようとしたときに発生するバグです。export TERM=xterm を使うことで回避できます。詳しくは [1] を参照。

参照