版本:Unity 6 (6000.0)
语言:英语
第三方 .NET 库
C# 编译器

引用附加类库程序集

如果您的 Unity 项目使用 Unity 默认情况下未编译的 .NET 类库 API 的一部分,您可以在编译期间向 C# 编译器提供一个附加程序集列表。行为取决于项目使用的 .NET 配置文件。有关更多信息,请参阅.NET 配置文件支持

.NET Standard 配置文件

如果您的项目使用 .NET Standard 配置文件,所有 .NET 类库 API 部分都将默认引用。您无法引用附加程序集。如果似乎缺少 API 的一部分,它可能未包含在 .NET Standard 中。请尝试改用 .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 文件。

例如,如果您的项目使用 HttpClient 类(在 System.Net.Http.dll 程序集中定义),如果该程序集不存在,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 配置文件中独有的程序集的任何引用。

其他资源

第三方 .NET 库
C# 编译器