Использование System.Numerics.dll в Unity3D UWP - PullRequest
0 голосов
/ 06 июля 2018

Я хочу использовать некоторые классы сборки 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 Ответ

0 голосов
/ 06 июля 2018

Unity не может найти сборку из-за имени папки, в которую вы поместили DLL

Согласно Документы Unity

Всегда помещайте плагины в папку с именем Плагины , чтобы они были обнаружен Unity.

...