Использование System.Numerics.dll в Unity3D UWP
Я хочу использовать некоторые классы сборки System.Numerics в своем собственном проекте DLL, который также используется в некоторых других проектах. Но у меня возникают проблемы с Unity3D, ориентированной на UWP Hololens. В редакторе это работает из коробки, но когда я строю проект, Unity жалуетсяerror CS7069: Reference to type 'Vector3' claims it is defined in 'System.Numerics', but it could not be found
Я скопировал System.Numerics.Vector.DLL из Unity \ Editor \ Data \ MonoBleedingEdge \ lib \ mono \ 4.7.1-api. 4.7.1 должен быть тем, который соответствует этому сообщению в блоге Unity. Я пробовал разные версии (даже 4.5), но это тоже не работает.
Моя собственная DLL также использует 4.7.1 (пробовал 4.6.1 в начале). Теперь редактор жалуется, что Loading script assembly "Assets/DLLs/System.Numerics.Vectors.dll" failed!
, Таким образом я исключил редактор платформы.
Следующим шагом я попытался использовать System.Numerics.dll (т.е. не только Векторы). Теперь результаты еще более странныеCS0433: The type 'Vector3' exists in both 'System.Numerics.Vectors
... System.Numerics.
Моя собственная DLL полностью в старой C#, ничего особенного, нет доступа к файлу, ...
Так как я могу это сделать? Да, я знаю, что в Unity есть класс Vector3D:) Но мне нужно создать DLL, которая будет использоваться вне Unity.
Обновить:
Я удалил все прямые вызовы классов пространства имен System.Numeric. Теперь решение UWP строится, но с кучей ошибок пост-обработки:Reference rewriter: Error: type 'System.Numerics.Vector3' doesn't exist in target framework. It is referenced from ARSceneSerialization.dll at ARSceneSerialization.ARKeyFrame.
Я думаю, это звучит плохо.
1 ответ
Unity не может найти сборку из-за имени папки, в которую вы поместили DLL
По данным Unity Docs
Всегда помещайте подключаемые модули в папку с именем " Подключаемые модули", чтобы Unity обнаруживала их.