如果你的Unity项目使用.NET类库API的一部分,而Unity默认不编译,你可以向C#编译器提供一个额外的程序集列表,以供编译时引用。行为取决于项目使用的.NET配置文件。有关更多信息,请参阅.NET配置文件支持。
如果你的项目使用.NET标准配置文件,默认情况下会引用.NET类库API的所有部分。你无法引用额外的程序集。如果API的一部分似乎缺失,可能它不在.NET标准中。尝试使用.NET Framework配置文件。要避免更换配置文件时的编译问题,请参阅更换配置文件。
默认情况下,使用.NET Framework配置文件时,Unity会引用以下程序集
要引用任何其他类库程序集,请使用csc.rsp文件:一个包含你可以传递给C#编译器的命令行参数的列表的响应文件。要使用csc.rsp文件,请按照以下说明操作
Assets
文件夹中创建一个名为csc.rsp的文件。Assets
文件夹。例如,如果你的项目使用定义在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配置文件中程序集的引用。