Monoをソースからビルドしてインストールする手順。 本文の内容はMono 5.12.0.226 (08 May 2018)に基づく。

また、ビルドに使用した環境はUbuntu 18.04 LTS 64bit、本文中に掲載している所要時間はIntel Core i5-6402Pを積んだマシンで計測したもの。

ここで紹介する手順はMono本体といくつかのアセンブリをインストールするためのもの。 ディストリビューションが提供しているバージョンのMonoと共存できるようにするため、/opt/mono/5.12にインストールする。

1つの環境に複数のMonoをインストールする方法についてはParallel Mono Environments - Monoで詳しく解説されている。

ビルドにはgcc、libtool、autotools、gettext、pkg-config等が必要になるので、あらかじめインストールしておく必要がある。

libgdiplus

System.Drawing.dllなど、GDI+の機能を使用する場合のみ。 不要な場合はインストールを省略できる。

依存するパッケージのインストール

sudo apt-get install \
libcairo2-dev libexif-dev libfreetype6-dev libfontconfig1-dev libglib2.0-dev libjpeg-dev libpng-dev \
libtiff-dev libgif-dev libx11-dev libxrender-dev

ソースのダウンロードとconfigure

curl https://download.mono-project.com/sources/libgdiplus/libgdiplus-5.6.tar.gz -o libgdiplus-5.6.tar.gz
tar -xvf libgdiplus-5.6.tar.gz
cd libgdiplus-5.6/
./configure --prefix=/opt/mono/5.12/

Mono 5.12のリリース時点では5.12にバージョン付けされたlibgdiplusはリリースされていないので、libgdiplus-5.6を用いる。

configureの結果例。

---
Configuration summary

   * Installation prefix = /opt/mono/5.12
   * Cairo = 1.15.10 (system)
   * Text = cairo
   * EXIF tags = yes
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: yes
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---

ビルド、インストール

configureした結果に問題が無ければmake, make installする。

make
sudo make install

正しくインストールできたか確認する。

$ PKG_CONFIG_PATH=/opt/mono/5.12/lib/pkgconfig pkg-config libgdiplus --modversion
5.6

$ PKG_CONFIG_PATH=/opt/mono/5.12/lib/pkgconfig pkg-config libgdiplus --libs
-L/opt/mono/5.12/lib -L/opt/mono/5.12 -lgdiplus -lglib-2.0 -lcairo -lfontconfig -lfreetype -ljpeg -ltiff -lgif -lpng16 -lz -lexif -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgthread-2.0 -pthread -lglib-2.0

過去のバージョン(libgdiplus)-4.2ではpkgconfigで以下のようなエラーが表示されていた。

$ PKG_CONFIG_PATH=/opt/mono/5.2/lib/pkgconfig pkg-config libgdiplus --libs
Variable 'libjpeg_prefix' not defined in '/opt/mono/5.2/lib/pkgconfig/libgdiplus.pc'

libgdiplusをMono(System.Drawing.dll)を通して使用する場合はこのまま続行しても問題ない。 直接リンクする場合など、これが問題となる場合はGit masterのlibgdiplus(Mono のビルド・インストール (Git master) §.libgdiplus)を代用する。

Mono本体(コンパイラ、クラスライブラリ)

依存するパッケージのインストール

sudo apt-get install \
cmake libncurses-dev

ソースのダウンロードとconfigure

curl https://download.mono-project.com/sources/mono/mono-5.12.0.226.tar.bz2 -o mono-5.12.0.226.tar.bz2
tar -xvf mono-5.12.0.226.tar.bz2
cd mono-5.12.0.226/
./configure --prefix=/opt/mono/5.12/ --with-libgdiplus=/opt/mono/5.12/ --with-ikvm-native=no --with-mcs-docs=no --with-x

configureの結果例。

        mcs source:    mcs
	C# Compiler:   roslyn

   Engine:
	Host:	       x86_64-unknown-linux-gnu
	Target:	       x86_64-unknown-linux-gnu
	GC:	       sgen (concurrent by default) and Included Boehm GC with typed GC and parallel mark
	TLS:           __thread
	SIGALTSTACK:   yes
	Engine:        Building and using the JIT
	BigArrays:     no
	DTrace:        no
	LLVM Back End: no (dynamically loaded: no)
	Spectre:       no mitigation

   Libraries:
	.NET 4.x:        yes
	Xamarin.Android: no
	Xamarin.iOS:     no
	Xamarin.WatchOS: no
	Xamarin.TVOS:    no
	Xamarin.Mac:     no
	Windows AOT:     no
	Orbis:           no
	Unreal:          no
	WebAssembly:     no
	Test profiles:   AOT Full (no), AOT Hybrid (no)
	JNI support:     
	libgdiplus:      /opt/mono/5.12/
	zlib:            system zlib
	BTLS:            yes (x86_64)
	jemalloc:        no (always use: no)

LLVMバックエンドを有効にしたい場合の手順についてはMono のビルド・インストール (Git master) §.LLVMを参照。

ビルド、インストール

準備が整ったら、make, make installする。

make
sudo make install

所要時間は以下のとおり。

$ time make -j4
real	7m54.323s
user	18m11.420s
sys	1m5.221s

Monoのビルドにはmcs(C#コンパイラ)が必要になる。 コンパイルする環境にmcsが場合は、以下のコマンドで最新のMonoLite(最小構成のmcsパッケージ)を取得することでビルドできるようになる。 ただし、通常は自動でダウンロードされるため手動で行う必要はない。

MonoLiteの取得
make get-monolite-latest

MonoLiteが入手できない場合は、以下の5つのバイナリを別の環境からコピーするなどして手動で../mcs/class/lib/monolite/に配置する。 (過去のバージョンでは有効だった手段。 現在のバージョンでも有効かどうかは未検証。)

  • mscorlib.dll
  • System.dll
  • System.Xml.dll
  • Mono.Security.dll
  • mcs.exe

動作確認

新しくMonoをインストールした場合

mono -Vでmonoが動作することを確認する。

$ mono -V
Mono JIT compiler version 5.12.0.226 (tarball 2018年  5月 22日 火曜日 19:06:29 JST)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug 
	Interpreter:   yes
	LLVM:          supported, not enabled.
	GC:            sgen (concurrent by default)

既に別のバージョンのMonoが存在する環境にインストールした場合

新しく/opt/mono/5.12にインストールしたMonoを参照できるように、環境変数を設定するスクリプトを用意しておく。

mono-5.12-env
#!/bin/bash
MONO_PREFIX=/opt/mono/5.12
GNOME_PREFIX=/usr
export DYLD_FALLBACK_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_FALLBACK_PATH
export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include
export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal
export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig
export PATH=$MONO_PREFIX/bin:$PATH

まずmono -Vで既にインストールされているmonoが動作することを確認する。

$ which mono
/usr/bin/mono

$ mono -V
Mono JIT compiler version 4.6.2 (Debian 4.6.2.7+dfsg-1ubuntu1)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug 
	LLVM:          supported, not enabled.
	GC:            sgen

続いて、先ほど用意したスクリプトを読み込んだあとでmono -Vを実行し、新しくインストールしたmonoが動作することを確認する。

$ source mono-5.12-env

$ which mono
/opt/mono/5.12/bin/mono

$ mono -V
Mono JIT compiler version 5.12.0.226 (tarball 2018年  5月 22日 火曜日 19:06:29 JST)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug 
	Interpreter:   yes
	LLVM:          supported, not enabled.
	GC:            sgen (concurrent by default)

GAC

gacutil2 -lでアセンブリがGACに登録されていることを確認する。

$ gacutil2 -l 
The following assemblies are installed into the GAC:
  :
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
  :

GACのパスを明示的に指定する場合は-rootオプションで指定する。 例えばgacutil2 -l -root /opt/mono/5.12/lib/など)

mcs(C#コンパイラ)・mono(Monoランタイム)

mcs(C#コンパイラ)およびmono(Monoランタイム)の動作を確認する。

test.cs
using System;

class Test {
  static void Main()
  {
    Console.WriteLine(Environment.Version);
  }
}
$ mcs test.cs && mono test.exe
4.0.30319.42000

MonoのC#コンパイラであるmcsは、.NET Frameworkのcscコンパイラと同じコンパイルオプションを指定してコンパイルすることができる。 コンパイルして作成した実行可能ファイルは直接実行する代わりにmono test.exeのようにmonoコマンドを使って実行する。

csharp(C#シェル)

csharpシェルが動作するか確認する。

$ csharp -e 'Environment.Version;'
4.0.30319.42000

$ csharp -e 'Environment.OSVersion;'
Unix 4.15.0.20

$ csharp
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> Enumerable.Range(0, 10).Sum();
45
csharp> quit;

csharpシェルでは、TABキーを押すことにより入力補間を行うことができる。 また型名などに続けてピリオドを入力すればメンバの一覧が表示される。

vbc(VB.NETコンパイラ)

vbc(VB.NETコンパイラ)の動作を確認する。

$ vbc /version
2.6.0.62309 (d3f6b8e7)

Mono 5.12よりRoslynベースのVB.NETコンパイラであるvbcが含まれるようになった。 ただし、Microsoft.VisualBasic.dllなどのアセンブリは別途ビルドするなどして用意する必要がある。 詳細については後述の§.mono-basicを参照のこと。

mono-basic

VB.NETコンパイラ(vbnc・vbnc2)やMicrosoft.VisualBasic.dllなど、VB.NET関連の機能を使用する場合のみ。 不要な場合はインストールを省略できる。

ソースのダウンロードとconfigure

curl https://download.mono-project.com/sources/mono-basic/mono-basic-4.7.tar.bz2 -o mono-basic-4.7.tar.bz2
tar -xvf mono-basic-4.7.tar.bz2
cd mono-basic-4.7/
./configure --prefix=/opt/mono/5.12/

Mono 5.12のリリース時点では5.12にバージョン付けされたmono-basicはリリースされていないので、mono-basic-4.7を用いる。

configureの結果例。

mono-basic 4.7 module configured to use prefix=/opt/mono/5.12/

ビルド、インストール

configureした結果に問題が無ければmake, make installする。

make
sudo make install

動作確認

vbcコンパイラの動作確認

vbc(Microsoft VB.NETコンパイラ)の動作を確認する。

test.vb
Imports System

Module Test
  Sub Main()
    Console.WriteLine("Hello, world!")
  End Sub
End Module
$ vbc test.vb
Microsoft (R) Visual Basic Compiler version 2.6.0.62309 (d3f6b8e7)
Copyright (C) Microsoft Corporation. All rights reserved.

$ vbc /nologo test.vb && mono test.exe
Hello, world!

vbnc2コンパイラの動作確認

vbnc2(Mono VB.NETコンパイラ)の動作を確認する。

test.vb
Imports System

Module Test
  Sub Main()
    Console.WriteLine("Hello, world!")
  End Sub
End Module
$ vbnc2 test.vb
Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.7 - tarball)
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.

Assembly 'test, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '/home/smdn/samplecodes/test.exe'.
Compilation successful
Compilation took 00:00:00.5607380

$ vbnc2 /nologo test.vb && mono test.exe
Assembly 'test, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '/home/smdn/samplecodes/test.exe'.
Compilation successful
Compilation took 00:00:00.5093720
WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319
Hello, world!

Mono 5.12よりMono本体にRoslynベースのVB.NETコンパイラであるvbcが含まれるようになっている。 mono-basicに含まれているMono VB.NETコンパイラのvbncvbnc2も引き続き使用可能になっているが、廃止予定となっている。

インストールされるアセンブリ

ここまでの手順でインストールされるアセンブリの一覧は以下の通り。

$ gacutil2 -l -root /opt/mono/5.12/lib/
The following assemblies are installed into the GAC:
Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Commons.Xml.Relaxng, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
I18N, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
I18N.CJK, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
I18N.MidEast, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
I18N.Other, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
I18N.Rare, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
I18N.West, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
IBM.Data.DB2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7c307b91aa13d208
ICSharpCode.SharpZipLib, Version=4.84.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73
Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Engine, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Engine, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Tasks.v12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Utilities.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Utilities.v12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualC, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Mono.Btls.Interface, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Cairo, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Cecil, Version=0.10.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Cecil.VB, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Cecil.VB.Mdb, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Cecil.VB.Pdb, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.CodeContracts, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.CompilerServices.SymbolWriter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Data.Sqlite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Data.Tds, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Debugger.Soft, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Messaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Messaging.RabbitMQ, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Posix, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Profiler.Log, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Security.Win32, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Simd, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.Tasklets, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.WebBrowser, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.XBuild.Tasks, Version=12.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.XBuild.Tasks, Version=14.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.XBuild.Tasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Novell.Directory.Ldap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
PEAPI, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
RabbitMQ.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
SMDiagnostics, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.DirectoryServices.Protocols, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Dynamic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.IdentityModel.Selectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Json.Microsoft, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Messaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Numerics.Vectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Reactive.Core, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Debugger, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Experimental, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Interfaces, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Linq, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Observable.Aliases, Version=0.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.PlatformServices, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Providers, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Runtime.Remoting, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Windows.Forms, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reactive.Windows.Threading, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reflection.Context, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Runtime.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.ServiceModel.Internals, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Threading.Tasks.Dataflow, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Http.SelfHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Workflow.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Workflow.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
WebMatrix.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
cscompmgd, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
monodoc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
nunit-console-runner, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.core, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.core.extensions, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.core.interfaces, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.framework.extensions, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.mocks, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
nunit.util, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
Number of items = 164

トラブルシューティング

System.Drawing.dllがTypeInitializationExceptionスローする

Mono のビルド・インストール (Git master) §.System.Drawing.dllがTypeInitializationExceptionをスローするを参照。