Version: 6000.3
语言: 中文
.NET 的 API 兼容性级别
C# 编译器和语言版本参考

向 .NET Framework 添加类库引用

默认情况下,当项目使用 .NET Framework API 兼容性级别时,Unity 会引用以下程序集:

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

如果 Unity 项目使用 Unity 默认不编译的 .NET 类库 API 的一部分,则可以向 C# 编译器提供要在编译期间引用的其他程序集列表。

先决条件

  • 项目的 API 兼容性级别必须设置为 .NET Framework。如果项目面向 .NET Standard,则默认情况下已引用可引用的 .NET 类库 API 的所有部分。要更改设置,请在 Unity 编辑器中转到 编辑 > 项目设置。在“播放器”选项卡中,导航到“其他设置”选项卡,然后在“配置”部分中,将“API 兼容性级别”设置为“.NET Framework”。

创建响应文件

若要引用任何其他类库程序集,可以创建一个响应 (.rsp) 文件,其中包含要传递给 C# 编译器的命令行参数列表,如下所示:

  1. 创建一个名为csc.rspAssets文件夹。
  2. 将要引用的任何装配文件移动到Assets文件夹(如果它们尚未在此文件夹中)。
  3. 填充csc.rsp文件,其中包含要引用的程序集的命令行参数。

例如,如果您的项目使用HttpClient类,该类在System.Net.Http.dllassembly,如果程序集不存在,则 C# 编译器可能会生成此初始错误消息:


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'.

要解决此错误,请添加一个csc.rsp文件,其中包含项目的以下命令行参数:


-r:System.Net.Http.dll

为要引用的每个程序集添加一个新行,其中包含相应的命令行参数。

重要提示:如果从 .NET Framework 更改为 .NET Standard,并且csc.rsp文件引用 .NET Standard 中不存在的程序集,则编译失败。要解决此问题,请编辑csc.rsp文件以删除对 .NET Framework 配置文件独占的程序集的任何引用,然后再更改为 .NET Standard。

其他资源

.NET 的 API 兼容性级别
C# 编译器和语言版本参考