MonoGame 3.8.1 で「共有プロジェクトにある mgcb ファイルをダブルクリックしても MGCB Editor を開けない問題」「MGCB Editor でビルドしても無反応な問題」の対応方法

共有プロジェクトにある mgcb ファイルをダブルクリックしても MGCB Editor を開けない問題

まずこの現象については MonoGame 3.8.1 のテンプレートから「MonGame Shared Library Project」を作成すれば確認できます。今回の共有プロジェクトは mgcb がビルドできるので便利です。

作成後「Content/Content.mgcb」をダブルクリックしても MGCB Editor は起動しません。

image

ちなみに他のプロジェクトはダブルクリックすれば開けます。

image

image

MGCB Editor でビルドしても無反応な問題

まず他のゲームプロジェクトで開いた MGCB のプロジェクトはビルドをすれば通ります。

image

しかし、この MGCB Editor から他の MGCB プロジェクト、例えば先ほどの共有プロジェクトで作成された mgcb ファイルや、他のフォルダにコピーした mgcb ファイルを開いてビルドしても全く無反応になります。

image

image

対処方法

他のプロジェクトとの差異を調べてみたのですがどうやら mgcb ファイルのある場所から見て「..\.config\dotnet-tools.json」ファイルがあるかどうかでダブルクリックで開けたりビルドができるようになるみたいです。

image

なので共有プロジェクトの場合は、一度他の MonoGame のプロジェクトを作成してから「.config」フォルダを共有プロジェクトにコピーすればダブルクリックで開けるようになり、ビルドもできるようになるみたいです。

image

image

ちなみにプロジェクトとは全く関係ない場所に mgcb ファイルを置いている場合は下の図のように1階層上のフォルダに .config フォルダを置いておけばビルドはできるみたいです。ちょっといまいちですが。まあ単独でビルドすることはあまりないとは思います。

image

image

ちなみになぜこんなことになっているかというと、OS に MGCB Editor をインストールさせてしまうと、バージョンの異なるプロジェクトが複数あった場合に問題になることが多いため、プロジェクトにくっつけてしまいバージョンは全てプロジェクト依存にさせれば問題はなくなるだろう、ということらしいです。以下の記事にそれっぽいことが書いてありました。

【MonoGame】 3.8.0 の MGCB Editor を削除する方法

2022/07 に MonoGame 3.8.1 がリリースされ MonoGame のテンプレートや MGCB Editor は Visual Studio 2022 の拡張機能に全て統合されました。

ただ、3.8.0 で使用していた MGCB Editor は「dotnet tool」でインストールしているため、3.8.1 をインストールしたあとも残り続けます。これを削除するにはコマンドプロンプトなどで以下の手順を実行します。

インストールされている .NET Tool を確認します。

dotnet tool list --global

その中に以下のものがあるか確認します。

  • dotnet-mgcb             3.8.0.1641      mgcb
  • dotnet-mgcb-editor      3.8.0.1641      mgcb-editor

あった場合は以下のコマンドをそれぞれ実行して削除します。

dotnet tool uninstall --global dotnet-mgcb

dotnet tool uninstall --global dotnet-mgcb-editor

もう一度リストを表示してなくなっていることを確認します。

image

ちなみにスタートメニューには MGCB Editor のショートカットは残ってしまうのでクリックして削除してください。