如果您的 Unity 项目使用 Unity 默认情况下未编译的 .NET 类库 API 的一部分,您可以在编译期间向 C# 编译器提供一个附加程序集列表。行为取决于项目使用的 .NET 配置文件。有关更多信息,请参阅.NET 配置文件支持。
如果您的项目使用 .NET Standard 配置文件,所有 .NET 类库 API 部分都将默认引用。您无法引用附加程序集。如果似乎缺少 API 的一部分,它可能未包含在 .NET Standard 中。请尝试改用 .NET Framework 配置文件。要避免在更改配置文件时出现编译问题,请参阅在配置文件之间切换。
默认情况下,当您使用 .NET Framework 配置文件时,Unity 会引用以下程序集
要引用任何其他类库程序集,请使用 csc.rsp 文件:一个包含您可以传递给 C# 编译器的命令行参数列表的响应文件。要使用 csc.rsp 文件,请按照以下说明操作
Assets
文件夹中创建一个名为 csc.rsp 的文件。Assets
文件夹,如果它们尚未在此文件夹中。例如,如果您的项目使用 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 配置文件中独有的程序集的任何引用。