【发布时间】:2023-03-06 21:04:01
【问题描述】:
在我的 Unity 解决方案中,我有两个项目,主项目和编辑器项目。 我正在创建一个编辑器脚本,我想引用我在主项目中的一个类。
我已尝试在要从编辑器引用的类中添加命名空间,但 Visual Studio 未在编辑器脚本中检测到它。
我尝试关注这个帖子: How can I refer to a project from another one in c#?
但是,当我尝试这样做时,我收到以下错误消息:“无法添加对 'Assembly-CSharp' 的引用。将此项目作为引用添加会导致循环依赖。
非常感谢!
【问题讨论】:
-
在 Unity 中,您不能。该脚本必须存在于项目中才能被其他脚本使用或包含在构建中
-
A reference to 'Assembly-CSharp' could not be added. Adding this project as a reference would cause a circular dependency.- 这意味着您尝试添加的项目包含当前项目,或者您尝试将项目添加到自身。这意味着如果允许,它将无限处理项目,因为项目A包含项目B,但项目B包含项目A,所以添加项目A但添加项目B,其中包括项目A... -
@cybermonkey 或者更可能的是,两个项目都使用相同的 DLL 名称,因为 Unity 不会费心使其兼容。
-
@Programmer,感谢您让我知道 - 我不知道这是不可能的。然而,我已经看到许多资产(来自商店)做了我所追求的,基本上是向场景中的一些对象添加一个“工具”组件,然后获取一个编辑器脚本来查找它们并获取它们包含的数据。我应该用目前的代码打开一个新问题吗?
标签: c# unity3d visual-studio-2015 unity-editor