Использование 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 обнаруживала их.

Другие вопросы по тегам