Если проекту Unity требуется доступ к части API библиотеки классов .NET, которая не компилируется по умолчанию, проект может сообщить об этом компилятору C# в Unity. Поведение зависит от того, какой профиль .NET использует проект.
Стандартный профиль .NET 2.0
Если в вашем проекте используется уровень совместимости API .NET Standard 2.0, вам не нужно предпринимать никаких дополнительных действий, чтобы использовать часть API библиотеки классов .NET. Если часть API отсутствует, возможно, она не включена в .NET Standard 2.0. Вместо этого в проекте может потребоваться использовать уровень совместимости API .NET 4.x.
Профиль .NET 4.x
По умолчанию Unity ссылается на следующие сборки при использовании уровня совместимости API .NET 4.x:
- mscorlib.dll
- System.dll
- System.Core.dll
- System.Runtime.Serialization.dll
- System.Xml.dll
- System.Xml.Linq.dll
Используйте файл csc.rsp для ссылки на любые другие сборки библиотеки классов. Вы можете добавить этот файл в каталог Assets проекта Unity и использовать его для передачи дополнительных аргументов командной строки компилятору C#. Например, если в вашем проекте используется класс HttpClient
, определенный в сборке System.Net.Http.dll
, Компилятор C# может выдать это начальное сообщение об ошибке:
Тип `HttpClient` определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку «System.Net.Http, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a».
Чтобы устранить эту ошибку, добавьте в проект следующий файл csc.rsp:
-r:System.Net.Http.dll
Вы должны ссылаться на сборки библиотеки классов, как описано в примере выше. Вы должны поместить файлы сборки в папку Assets
вашего проекта или ее подпапку.
Переключение между профилями
Следует соблюдать осторожность при использовании файла csc.rsp для ссылки на сборки библиотеки классов. Если вы измените Уровень совместимости API с .NET 4.x на .NET Standard 2.0, а в проекте существует файл csc.rsp, аналогичный показанному в приведенном выше примере, компиляция C# завершится ошибкой. Сборка System.Net.Http.dll отсутствует в профиле .NET Standard 2.0, поэтому компилятор C# не может ее найти.
Файл csc.rsp может содержать части, относящиеся к текущему профилю .NET. Если вы вносите изменения в профиль, вам необходимо изменить файл csc.rsp.