我正在为初学者做一个关于Unity 3D
here的小课程。在从unity asset store导入所有资产后,如课程中所解释的,我得到了一个可能不应该生成的错误,它是:
类型或命名空间名称“UI”在命名空间UnityEngine中不存在
我已经搜索过这个问题,但我只在旧版本的Unity中找到了答案。正如一些人所说,我尝试过重新导入所有资产和关闭并重新打开Unity,但这两种方法似乎都不适合我。
这是ChinemachineStoryboard文件中的第一行代码,编译器指示:public UnityEngine.UI.RawImage mRawImage;
第二个(第32行)只是一个注解,所以我不明白它如何影响任何东西,但以防万一,这里是:/// <summary>Image will be cropped if necessary so that the screen is entirely filled</summary>
9条答案
按热度按时间6fe3ivhb1#
首先,Unity
2019.3.0a4
是Alpha版本。您可以在**a
版本中看到这一点。b
是Beta版本,尚未稳定投入生产。简而言之:不要在生产中使用alpha或beta版本。它们不稳定,充满了bug和错误。你应该只使用它们来测试绝对最新的功能..而且只用于测试。这就是拥有alpha和beta版本的全部目的。
还是坚持最新的稳定版本吧!在版本的
f
**上可以识别,目前是2019.3.0f1
具体的原因是,在较新的Unity版本中,整个UI和编辑器GUI被完全更新,并且现在的“遗留”
UnityEngine.UI
被移到PackageManager中的一个包中......因此,如果没有为您的项目安装相应的UI Package,该命名空间就不再存在。xhv8bpkk2#
我在从资产存储导入资产后遇到此错误。
经过大量的故障排除后,我注意到该资产导入了一个名为PackageManagerUI的包。
卸载该软件包后,错误消失。
我使用的是Unity版本2019.3.7f1。也许那个软件包现在已经内置了。
lpwwtiir3#
这个问题仍然存在于Unity 2019.3.x和MS Visual Studio代码中。我通过以下步骤解决了这个问题:
1.打开软件包管理器
1.重新安装Unity UI + TextMeshPro模块
1.将Visual Studio编辑器包升级到1.2.0
1.关闭Unity
1.删除项目中的整个资源库文件夹
1.开放统一
我尝试了这些步骤多次在不同的顺序,因此我不能写确切的顺序.请随意实验:)
tp5buhyn4#
我遇到了这个问题,我尝试了(没有成功)在Unity forum上找到的几个解决方案。
最后,我解决这个问题的方法是从1.2.0返回到1.1.4(经过验证的版本),所以我怀疑,在我的情况下,卸载并重新安装Visual Studio Code Editor包将解决这个问题。
qojgxg4l5#
我发现(在尝试了我在互联网上找到的关于这个问题的所有东西之后),Visual Studio for Unity的开发人员工具在编写Unity 2019.3中的新引用时可能有问题(我已经将一个项目从2017.1.0f3升级到2019.3.0f6),他们将
UnityEngine.UI
移到了一个包中。从
C:\ProgramFiles(x86)\Microsoft Visual Studio Tools For Unity\*version folder*
中删除tools文件夹,然后我在Unity中运行了“API Updater”,为我修复了这个问题。(也许你应该在删除文件夹之前尝试这样做-对我来说,它不起作用)我在一个独立的工作环境中工作,所以我不能让NuGet软件包管理器自动处理它,因为没有互联网。希望这在某种程度上是有帮助的!
blpfk2vs6#
2021年4月添加我的答案,Unity版:2020.3.2f1。我尝试了很多方法,包括删除Unity Collaborate包。我最终发现的是Visual Studio中的(Mac)一些代码被添加到了结尾。我不确定它是何时或如何发生的。它可能是当打字太快,不小心选择了一些intellicode的选择或发生的事情,当我的鼠标时,在弗里茨和我不得不更换电池,但以下代码出现在脚本的末尾,并窃听了它。删除它修复了一切。
lymnna717#
这是由于一个问题造成的。UnityUI.dll位于Library/ScriptAssemblies(项目的程式库)的位置。
如果要打开Assembly-CSharp.csproj,请搜索
如果不存在,则添加
对于Mac用户
对于窗口用户
dvtswwa38#
我看到这个问题可能从太久以前。但我想分享我的解决方案,如果有人需要它和相同的情况下与我。
基本上,问题发生后,我删除旧版本的Admob和导入新版本和问题出现。做了许多方法来解决和错误仍然存在。我做这些简单的步骤
1.删除新的Admob版本-〉错误消失
1.再次导入新的Admob版本-〉修复
我不知道为什么或可能在我的第一次导入有一些过程不工作。我相信它可以是相同的其他插件/扩展在导入过程中。所以只要删除新的和导入一次
希望能有所帮助
iezvtpos9#
只需打开IDE的解决方案资源管理器,然后转到
References
并查找UnityEngine.UI
,它上面一定有一个警告标志,只需单击它,问题就会得到解决。如果没有UnityEngine.UI
,您必须自己添加它。