Version: 2018.2
.NET プロファイルのサポート
安定したスクリプティングランタイム - 既知の制限

追加のクラスライブラリアセンブリの参照

Unity プロジェクトが、デフォルトでコンパイルされない .NET クラスライブラリ API の一部にアクセスする必要がある場合、プロジェクトは Unity の C# コンパイラーに通知できます。この動作は、プロジェクトが使用する .NET プロファイルによって異なります。

.NET Standard 2.0 プロファイル

プロジェクトで .NET Standard 2.0 の Api Compatibility Level (API の互換性レベル) を使用する場合は、.NET クラスライブラリ API の一部を使用するために追加の手順を行う必要はありません。API の一部が見つからない場合は、.NET Standard 2.0 に含まれていない場合があります。代わりに、プロジェクトで .NET 4.x の Api Compatibility Level を使用しなければならない場合があります。

.NET 4.x プロファイル

デフォルトでは、.NET 4.x の Api Compatibility Level を使用する場合、Unityは以下のアセンブリを参照します。

  • mscorlib.dll
  • System.dll
  • System.Core.dll
  • System.Runtime.Serialization.dll
  • System.Xml.dll
  • System.Xml.Linq.dll

You should reference any other class library assemblies using an mcs.rsp file. You can add this file to the Assets directory of a Unity Project, and use it to pass additional command line arguments to the C# compiler. For example, if a Project uses the HttpClient class, which is defined in the System.Net.Http.dll assembly, the C# compiler might produce this initial error message:

The type `HttpClient` is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. (タイプ `HttpClient` は参照されていないアセンブリで定義されています。アセンブリに参照を加える必要があります。'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' )

You can resolve this error by adding the following mcs.rsp file to the Project:

-r:System.Net.Http.dll

上記の例で説明したように、クラスライブラリアセンブリを参照する必要があります。それらは、Project ディレクトリにコピーしないでください。

プロファイルの切り替え

Exercise caution when using an mcs.rsp file to reference class library assemblies. If you change the Api Compatibility Level from .NET 4.x to .NET Standard 2.0, and an mcs.rsp like the one in the example above exists in the Project, then C# compilation fails. The System.Net.Http.dll assembly does not exist in the .NET Standard 2.0 profile, so the C# compiler is unable to locate it.

The mcs.rsp file can have parts that are specific to the current .NET profile. If you make changes to the profile, you need to modify the mcs.rsp file.


.NET プロファイルのサポート
安定したスクリプティングランタイム - 既知の制限