版本:2022.3
语言:英语
稳定的脚本运行时:已知限制
C#编译器

引用额外的类库程序集

如果你的Unity项目使用.NET类库API的一部分,而Unity默认不编译,你可以向C#编译器提供一个额外的程序集列表,以供编译时引用。行为取决于项目使用的.NET配置文件。有关更多信息,请参阅.NET配置文件支持

.NET标准配置文件

如果你的项目使用.NET标准配置文件,默认情况下会引用.NET类库API的所有部分。你无法引用额外的程序集。如果API的一部分似乎缺失,可能它不在.NET标准中。尝试使用.NET Framework配置文件。要避免更换配置文件时的编译问题,请参阅更换配置文件

.NET Framework配置文件

默认情况下,使用.NET Framework配置文件时,Unity会引用以下程序集

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

要引用任何其他类库程序集,请使用csc.rsp文件:一个包含你可以传递给C#编译器的命令行参数的列表的响应文件。要使用csc.rsp文件,请按照以下说明操作

  1. 在你的Unity项目的Assets文件夹中创建一个名为csc.rsp的文件。
  2. 如果程序集文件还没有在这个文件夹中,将任何你想要引用的程序集移动到你的项目中的Assets文件夹。
  3. 使用你想要引用的程序集的命令行参数填充csc.rsp文件。

例如,如果你的项目使用定义在System.Net.Http.dll程序集中的HttpClient类,如果程序集不存在,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

为每个你想要引用的程序集添加一行相应的命令行参数。

更换配置文件

当你使用csc.rsp文件来引用类库程序集并且更改.NET配置文件时,你可能遇到编译问题。

如果将.NET配置文件从.NET Framework更改为.NET Standard,并且你的csc.rsp文件引用的程序集在.NET Standard中不存在,那么编译会失败。为了解决这个问题,在将.NET配置文件更改为.NET Standard之前,编辑csc.rsp文件以删除任何对仅适用于.NET Framework配置文件中程序集的引用。

稳定的脚本运行时:已知限制
C#编译器