![](/img/trans.png)
[英]Unity build error: The type or namespace name 'Editor' could not be found
[英]How to fix 'The type or namespace name could not be found ' error in unity?
我在 Unity 5 中設置了一個新的可編寫腳本的 object,當我嘗試設置對它的引用時,出現錯誤:'找不到類型或命名空間名稱'ES'(您是否缺少 using 指令或裝配參考?
可編寫腳本的 object 腳本:
using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(fileName = "new ES", menuName = "ES")] public class LAMP: ScriptableObject { public int groupNum; void Start() { groupNum = 1; } }
monobehavior 腳本中的參考:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Bout: MonoBehaviour { public ES et; // Use this for initialization void Start() { } // Update is called once per frame void Update() { } }
這是一個名稱空間錯誤,如果您使用沖突變量,您將面臨此錯誤。
使用 My.Players.namespace;
在您的文件 Bout.cs 中,您嘗試創建 ES 類型的變量“et”,但 ES 類型不存在,您可能想要創建 LAMP?
public class Bout: MonoBehaviour { public LAMP et; // Use this for initialization void Start() {
創建一個名為 ES (fileName = "new ES") 的可編寫腳本的 object 文件並不意味着它的類型是 ES,它采用 class 的類型,即 LAMP
我在運行時嘗試將腳本組件添加到游戲對象時遇到了同樣的錯誤。 通過以下格式修復它:
GameObject.AddComponent(typeof(namespace.className));
The The type or namespace name 'xxxx' could not be found
的含義是因為您嘗試使用不存在的 class,或者您沒有使用 class 所在的命名空間。
您遇到的問題是您正在嘗試使用不存在的東西。
您正在嘗試創建一個名為 ES 的可編寫腳本的 object,但創建一個名為 ES 的 class 完全不同。
如果您創建 class ES,您將看到錯誤消失。
剛剛遇到這個錯誤,這是關於它的頂級 SO 帖子,所以我將在這里發布我的修復:
我們引入了單元測試,它要求每個“組”相關腳本都有.asmdef
。 在我們這個特定的例子中,原始開發人員擁有一個包含在自動生成文件夾(ROS 消息)中的腳本的.asmdef
文件,該文件夾被設置為被 Git 忽略。
他推送了代碼,Git 忽略了 AutoGenerated 文件的.asmdef
文件,然后因為我們使用的是.asmdef
文件並且該文件夾未包含在我的盒子中,我的 Unity “找不到”那里的文件。
這也可能是您的問題,但是 100 次中有 99 次出現此錯誤,因為您拼錯了 class 名稱 - 大寫很重要 在 OP 的情況下,特別是實際的 class 是LAMP
,即使它在 AssetMenu 中被稱為ES
。 而不是public ES et;
OP 應該有public LAMP et;
然后它會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.