c# - 由于找不到脚本类而无法添加脚本组件?
问题描述
昨天我把unity从unity5更新到了2018.2.2f1。更新 2018.2.2f1 后未加载 Unity 脚本。
一旦我尝试播放场景,脚本就没有加载,我无法再次添加脚本,它会给出这个错误:
无法添加脚本组件“CubeScript”,因为找不到脚本类。确保没有编译错误并且文件名和类名匹配。
解决方案
如果您仍有项目的旧副本,请先将 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 现在将仅显示附加了此脚本的所有游戏对象。删除旧脚本。创建一个新的,然后将内容从记事本复制到这个新脚本。现在,您只需将新脚本拖到场景中所有过滤的游戏对象即可。对每个受影响的脚本执行此操作。这是一项手动工作,但应在完成后解决您的问题。
推荐阅读
- firebase - 在 Flutter 中接收有关新数据输入的通知
- reporting - 重叠子报表 SSRS
- python - 如何在 PyTorch 中将 autograd 用于独立于反向传播的单独函数?
- mysql - 使用带有条件的 INSERT
- python - 基于单变量低频数据预测最佳当前估计
- net-snmp - 如何在 debian 中使用 NET-SNMP C API(并发送陷阱)?
- python - 估算器的参数 min_impurity_decrease 无效
- firebase - 如何在 Firebase 中的结帐会话几分钟后超时?
- r - 在 sfnetwork 图中包含简单的特征属性
- mysql - 创建新分支 GitLab CI/CD 时创建新数据库