👻

[Unity] ビルドは通るけど『vs-code で型が見つからないエラー』の対処法

2020/10/15に公開

(0) 環境

  • Windows 10 v1909
  • Unity v2020.1.9f1 Personal
  • Visual Studio Code v1.50.1

(1) エラー内容

型または名前空間の名前 'MyClass' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)。[Assembly-CSharp-Editor] csharp(CS0246)

(なお、vs-code でエラーは表示されるけど Unity でビルドは通る)

(2) 原因

原因不明。

Unity の公式パッケージである Visual Studio Code Editor のバージョンを下げると解消されるのでこのパッケージの不具合ではないかと思われる。

(3) 暫定対処

  1. Unity の公式パッケージである Visual Studio Code Editor のバージョンをv1.2.2からv1.1.4に下げる
  2. Visual Studio Codeを再起動

※ なお、v1.2.2v1.2.1v1.2.0は同様のエラーがでました

(4) 再現方法

  1. 新規プロジェクトを作成
    • 2020.1.9f1
    • 3Dプロジェクト (Built-in Render Pipeline)
  2. Assets/MyClass.cs を作成
    // 中身のない適当なクラスでOK
    public class MyClass { }
    
  3. Assets/Editor/Edit.cs を作成
    using UnityEditor;
    
    public class Edit : Editor
    {
        // ▼ ここで『MyClass なんて見つからないよ~』ってエラーがでる (´・ω・`)
        private MyClass _myClass;
    }
    

Discussion