Я использую System.Compression.ZipFile.dll в проекте Unity и добавил ссылку как на проект Visual Studio, так и в редакторе Unity, а код компилируется и запускается, как и ожидалось, без проблем.
Однако всякий раз, когда Unity компилирует код, ссылка на DLL удаляется из проекта Visual Studio.
В результате компиляция в послесловиях Visual Studio приведет к ошибкам пространства имен.Эти ошибки есть только в Visual Studio, поскольку редактор Unity имеет ссылку, когда он фактически компилирует код.
Эти ошибки исправляются путем повторного добавления ссылки DLL в решение.Я хотел бы предотвратить появление ошибок в Visual Studio, так как они довольно раздражающие.
Как предотвратить удаление ссылки из проекта Visual Studio, когда Unity фактически компилирует код?
Если это поможет, я использую Visual Studio Community 2015 и Unity Editor 2018.2.14f1 в Windows 8.1 с .NET версии 4.7.1
РЕДАКТИРОВАТЬ:
My mcs.Файл rsp содержит: -r: System.IO.Compression.FileSystem.dll, основанный на ветке форума Unity.Это интересно, так как это не ожидаемая DLL, и все же она все еще работает.
Добавление -r: System.IO.Compression.ZipFile.dll приведет к ошибке: CS0006: файл метаданных `System.IO.Compression.ZipFile.dll 'не найден.
Соответствующие ошибки:
CS1069 Имя типа «ZipFile» не найдено в пространстве имен «System.IO.Compression».Этот тип был перенаправлен в сборку 'System.IO.Compression.FileSystem, версия = 4.0.0.0, культура = нейтральная. Рассмотрите возможность добавления ссылки на эту сборку.
Ошибка CS0006 Файл метаданных ProjectFolder \ Temp \ bin \ Debug \ Assembly-CSharp.dll 'не найден
Unity правильно настроен для использования .NET 4.x