追記
コメントでいただきましたが、C#4.6以降にしていることで起こる不具合のようです…
こちらの記事がよくまとまっているのでこちらで解決していただければと思います
https://qiita.com/tak/items/c2454c8db3c65f715642
この記事の動作環境
Windows10 Pro
unity2017.2.0f3(64bit)
Visual Studio2017
想定している状態
- unityEditor から CreateしたC#コードのMonobehaviourが機能せず、せっかく2017で強化されたコード補完などが機能しない
- 上記の状態に陥ったとき、Visual Studioを再起動することで機能が戻る
はじめに
こちらの記事はご覧になったでしょうか。
Visual Studio2017からは公式でunityとの連携がされるようになったので、ひと手間設定が必要のようです。
それでも問題が解決しない場合
そう、私も上記の設定だけでは解決しませんでした。
新規コードを作るとだいたいこんな感じで、Monobehaviourが白く表示されており、認識されておりません。
いろいろ見てみたところ、どうやら原因はVisualStudio側が、そのプロジェクトのファイルと認識していないことが原因のようです。
ご覧の画像のように、ディレクトリには配置されていますが、どのプロジェクトに属しているファイルなのかが不明になっています。
対処法
さて、対処法ですが、一応はあります。
それは、Visual Studioをいったん落とすこと…ではなく、ソリューションを更新してやればいいのです。
このアイコンを押すとソリューションの更新が行われます。これで無事認識されますね。
それでも解決しない場合の対処法
さて、それでも解決できない場合もあります。あります…。
そういう時は、直接所属先のプロジェクトを指定してやればいいのです。
ファイル > "スクリプト名"の移動先 > "自分のプロジェクト名"
を選択します。
認識されました!
おわりに
残念ながら対症療法的なものしかわからず、根本的な解決には至っておりません。
時間を置いたらいつの間にか解決していたり、まだわかっていない部分も多いです。
ソリューションの更新などはVisual Studioの設定である程度改善はできるのですが、それでも完全には解決できませんでした。
とはいえ、同じ悩みの人は結構いそうだなということで記事にしてみました。
他に何か有力な情報がありましたら教えていただければと思います。
ご拝読ありがとうございました。