Unity无法从自定义程序集定义中查看Assembly-CSharp.dll程序集中的脚本

问题描述 投票:0回答:1

我已将程序集定义(.asmdef)添加到我的脚本文件夹(我的自定义统一脚本)。现在Unity抱怨它找不到我在我的一个脚本(GameManager.cs)中使用它的OVRInput类:enter image description here

此OVRInput类编译为Assembly-CSharp.dll托管程序集,如下所示:

enter image description here

我希望Unity默认情况下可以看到这种依赖关系并解决它,但不知何故它没有。所以我决定手动将“Assembly-CSharp.dll”添加到我的程序集的依赖部分(称为“程序集定义引用”),但Unity给出错误,它无法找到这样的程序集。

以下是我的自定义程序集定义文件(将所有脚本放在“Scripts”文件夹中的程序集中):

enter image description here

目标平台:Android(Oculus Gear VR)Unity版本2018.3.13f1。

unity3d oculus
1个回答
1
投票

That's kind of the point

程序集定义(有效地)是完全独立的项目(同一解决方案的一部分,但是单独的dll)。这实际上就是它们在Visual Studio的Solution Explorer中的显示方式。

它们的意思是你引用的东西(如TextMeshPro或JsonDotNet)而不是。因此,您无法引用主要的Assembly-Csharp“名称空间”。

优点是当脚本文件更改时,仅重新编译其包含的程序集,而不是整个项目。

在这种情况下,如果要引用Oculus文件,则需要创建包含这些文件的另一个程序集定义(并将其添加为第一个程序集的依赖项),或者根本不使用程序集定义。

© www.soinside.com 2019 - 2024. All rights reserved.