首页 > 解决方案 > 由于找不到脚本类而无法添加脚本组件?

问题描述

昨天我把unity从unity5更新到了2018.2.2f1。更新 2018.2.2f1 后未加载 Unity 脚本。

一旦我尝试播放场景,脚本就没有加载,我无法再次添加脚本,它会给出这个错误:

无法添加脚本组件“CubeScript”,因为找不到脚本类。确保没有编译错误并且文件名和类名匹配。

错误

标签: c#unity3dupdates

解决方案


如果您仍有项目的旧副本,请先将 Unity 项目升级到Unity 2017,然后再升级到2018.2.2f1

以下是您可能会收到此错误的几个可能原因(从很可能订购)

1 .Script 名称与类名称不匹配。

如果调用脚本名MyClass,则类名必须是MyClass. 这也是区分大小写的。仔细检查以确保这不是问题。要确保这不是问题,请复制类名并将其粘贴为脚本名称以确保这不是问题。

请注意,如果您在一个脚本中有多个类,则应与脚本名称匹配的类名称是派生自MonoBehaviour.


2.你的脚本有错误。由于这是一次升级,您可能正在使用现已弃用和删除的 API。用 Visual Studio 打开你的脚本,看看那里是否有错误,然后修复它。代码下方通常有一条红线,表示存在错误。


3 .使用 Unity 导入器及其自动升级脚本导入错误。

要尝试的事情:

A . 首先要做的是重新启动 Unity Editor。

B .右键单击项目选项卡,然后单击“全部重新导入”

C .如果仍有问题,唯一剩下的就是删除有问题的脚本并创建一个新的。如果脚本附加到场景中的许多游戏对象,则有一种更简单的方法来执行此操作。

A.打开脚本,将其内容复制到记事本中。

B.从编辑器和项目选项卡上右键单击脚本“CubeScript”,选择“在场景中查找引用”

C .Unity 现在将仅显示附加了此脚本的所有游戏对象。删除旧脚本。创建一个新的,然后将内容从记事本复制到这个新脚本。现在,您只需将新脚本拖到场景中所有过滤的游戏对象即可。对每个受影响的脚本执行此操作。这是一项手动工作,但应在完成后解决您的问题。


推荐阅读