Unityでよくやるやつ
using UnityEngine.UI;
などでやりがち。
今回は自分で定義したnamespaceでエラーが出たのでメモ。
故意ではなく
namespace A{
public class A : MonoBehavior{
public enum C{
D,
E,
F
};
}
}みたいなことをして一回UnityEditorの方でコンパイルしてしまった後にファイルとnamespaceが同じだとやばそうだからnamespace をAからBにかえた。
namespace B{
public class A : MonoBehavior{
public enum C{
D,
E,
F
};
}
}しかしUnityEditorの方は以前のnamespaceを引きずっていて別のところから
using B;
しても
namespace Bが参照されずA.Cは存在しませんみたいな感じになった。
UnityEditorでAssetsからRefreshしてもなおらなかった。
VisualStudioで表示からオブジェクトブラウザを見るとAというnamespace(ファイルはある)は存在せずBというnamespaceのなかにAは収まっていた。
VisualStudioの方でUnityにアタッチというボタンを押して無理やり通した。
とりあえずなおったけどもっとやりやすい方法があってほしい。
そもそもnamespaceは衝突を回避するためにあるのに自ら衝突を引き起こしてどうする。