Как работать с дублирующимися ссылками на сборки C # Unity / Как скомпилировать проект C # с флагами - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь интегрировать RosSharp (https://github.com/siemens/ros-sharp) и Mixed Reality Toolkit в один проект Unity. Однако обе эти библиотеки используют Newtonsoft.Json, что вызывает ошибку:

error CS1703: An assembly `Newtonsoft.Json' with the same identity has already 
been imported. Consider removing one of the references
Assets/HoloToolkit/Utilities/Scripts/GLTF/Plugins/JsonNet/Newtonsoft.Json.dll 
(Location of the symbol related to previous error)
Assets/RosSharp/Plugins/Newtonsoft.Json.dll (Location of the symbol related to 
previous error)

Удаление одного изэти библиотеки DLL вызовут множество других ошибок.

Поиск этой ошибки в документации разработчика (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1703): Рекомендуется компилировать проект со следующими флагами: /t:library /out:.\bin2\cs1703.dll /keyfile:key.snk.

Как вы компилируете решение C # в Visual с определенными флагами.

Я полагаю, что эту проблему также можно решить с помощью внешних псевдонимов, хотя я не знаю, как они реализованы.

1 Ответ

0 голосов
/ 29 ноября 2018

Оказывается, мне нужно было использовать правильную версию Unity - 2017 и (2017.4.16 в моем случае), а в Visual Studio мне также нужно было перейти в Project> Управление пакетами NuGet и обновить мой пакет Newtonsoft.

...