2

我想在我自己的 DLL 项目中使用 System.Numerics 程序集的某些类,这些类也用于其他一些项目。但是我遇到了针对 UWP Hololens 的 Unity3D 问题。在编辑器中它是开箱即用的,但是当我构建项目时 Unity 抱怨
error CS7069: Reference to type 'Vector3' claims it is defined in 'System.Numerics', but it could not be found

我从Unity\Editor\Data\MonoBleedingEdge\lib\mono\4.7.1-api复制了 System.Numerics.Vector.DLL 。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 类 :) 但我需要构建一个在 Unity 外部使用的 DLL。


更新:

我删除了对 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.

我认为这听起来很糟糕。

4

1 回答 1

0

由于您放置 DLL 的文件夹名称,Unity 找不到程序集

根据统一文档

始终将插件放在名为Plugins的文件夹中,以便 Unity 检测到它们。

于 2018-07-06T11:15:13.103 回答