c# - 程序集定义无法解析来自外部包的命名空间

标签 c# unity3d

我使用 Unity 创建了一个新项目。在项目设置中,我将字段 Root namespace 设置为 Assets

我正在使用外部包 Entitas-Redux通过 Git url 安装它。在代码中,我将可以访问 Entitas-Redux 命名空间中的其他类。

我想为位于 Scripts 文件夹中的脚本创建单元测试,因此我从上下文菜单中创建了一个“Tests Assembly Folder”。当前文件夹结构为

enter image description here

我收到一条警告,提示它找不到任何测试。所以我必须告诉程序集定义 ScriptTests 在哪里搜索脚本。

这就是我添加另一个程序集定义的原因

enter image description here

现在我可以将脚本程序集定义与脚本测试程序集定义相关联。问题是脚本程序集定义无法再找到外部包命名空间

enter image description here

如何解决这个问题?

我是否应该删除脚本程序集定义并使用其他方法添加位于脚本文件夹中的脚本?

最佳答案

您的测试 asm 只能测试 asm 本身中的脚本。

我建议将测试文件夹移至 Assets ,这样就不会串通。

然后,查看您的层次结构,您可以向 Sources 添加一个 asm。届时,如果 Sources 中的任何内容正在使用它之外的代码,您必须将程序集引用添加到该模块的 asm。

最后,您将 Sources.asm 添加到测试 asm,您的代码对测试可见。

关于c# - 程序集定义无法解析来自外部包的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65657685/

相关文章:

C# 异步 Ping : not work from a Threading. 定时器

c# - 将 Entity Framework Core 示例转换为 F#

c# - 使用 C++ 或 C# 与端口通信?

java - 我的 android xxxhdpi 模拟器显示黑屏

c# - 泛型可以用来返回实际的对象吗?

xcode - OSX - 发布 Unity 游戏

c# - 等待特定的秒数以生成敌人

c# - 切换包含网络摄像头纹理的场景后 Unity3d 崩溃

ipad - 在iPad Pro Simulator [Unity 5.2.2p1]上运行时崩溃

events - 如何检测 Unity3D 应用程序的状态——可见与否