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