「Mono」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
 
63行目: 63行目:
   
 
{{ic|mozroots --import --ask-remove}} を実行して mono の証明書をアップデートしてみてください。{{ic|mozroots}} は mono パッケージに含まれています。
 
{{ic|mozroots --import --ask-remove}} を実行して mono の証明書をアップデートしてみてください。{{ic|mozroots}} は mono パッケージに含まれています。
  +
  +
=== F# のビルド時にエラー: "System.TypeInitializationException: The type initializer for 'System.Console' threw an exception" ===
  +
  +
mcs で fsharp をビルドしようとしたときに発生するバグです。{{ic|1=export TERM=xterm}} を使うことで回避できます。詳しくは [https://github.com/mono/mono/issues/6752] を参照。
   
 
== 参照 ==
 
== 参照 ==

2018年3月29日 (木) 21:57時点における最新版

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] を参照。

参照