[UNITY]2DRPG開発日誌 #28 「エラー CS1929 ‘***’ に ‘DO***’ の定義が含まれておらず、最も適している拡張メソッド オーバーロード ‘***’ には ‘Material’ 型のレシーバーが必要です 」の対処法

なにが壊れた?

さて、DOTweenを使っているとSafe Modeでこんな警告がよく出ますよね。

これはDOTweenの設定で「エラーが起きてもプレイを止めない」という設定にすると出るのですが、

この警告をダブルクリックした瞬間、Visual Studio Community 2019が壊れてしまいました。

「このプロジェクトはVisual Studio Tools for UNITY用に生成されたものではありません。」

エラー CS1929 'TextMeshProUGUI' に 'DOFade' の定義が含まれておらず、最も適している拡張メソッド オーバーロード 'ShortcutExtensions.DOFade(Material, float, float)' には 'Material' 型のレシーバーが必要です 

エラー CS1929 'Image' に 'DOFade' の定義が含まれておらず、最も適している拡張メソッド オーバーロード 'ShortcutExtensions.DOFade(Material, float, float)' には 'Material' 型のレシーバーが必要です

まるで「using DG.Tweening;」を誤って消してしまったようなエラーですが、9行目にちゃんと書かれています。

どうやらVisual StudioがDOTweenのクラスを見つけられていない様子。

また、不思議なことにUNITY画面にはエラーが出ていません

なにが壊れてしまったのでしょうか?

試したけどダメだったこと

DOTWeenのASMDEFファイルを生成してみる。

直らず。

DOTweenを再インストールしてみる

念のため、事前にプロジェクトフォルダをコピーしてバックアップ、

Pluginsフォルダ内のDemigiantフォルダを削除して、Package ManagerからDOTween Proを再インストール。

直らず。

DOTweenを完全に削除する

UNITYを落として、

C:\Users\(ユーザー名)\AppData\Roaming\Unity\Asset Store-5.x

内にある「Demigiant」フォルダを削除。

UNITYで再度Package Managerを開くと、DOTweenがImportからDownloadに変わっているので、ダウンロードしてImport。

直らず。

UNITY側にもエラーが出るようになった。

あと、DOTweenのスタートアップパネルが表示されなくてDOTweenをセットアップできない。

UNITYのToolsのなかのDemigiantが消えてUtility Panelを表示できなくなってる。

→これはUNITYを再起動したら直った。UNITY側のエラーはこれで消えました。

でもVisual Studio Community 2019側のエラーは変わらず。

解決方法

Visual Studio Community 2019のソリューションデータを削除した

プロジェクトフォルダ内にあるslnファイルを削除してみたところ、きれいに直りました。

slnファイルが壊れてたのね。めでたしめでたし。

…1日潰れました。