Visual Studio 拡張機能を新規作成後、System.OutOfMemoryException が発生し、ビルドエラーが出るときの対処法
はじめに
Visual Studio の拡張機能を新規作成し、ビルドを行うと、System.OutOfMemoryException というエラーメッセージが表示され、ビルドが失敗する場合があります。 例えば、以下の手順のように何もコードを記述していない状態でも、このエラーは発生することがあります。
- Visual Studio で VSIX プロジェクトを新規作成
- プロジェクトに 「Tool Window」を新規追加
- プロジェクトをビルドする
- ビルドエラー発生
原因
テンプレートから作成されたイメージファイルが壊れていることが原因と思われます。
ファイルを開くと、「サポートされていない形式のようです」というエラーで開けない。
対処方法
壊れているイメージファイルを正常なイメージファイルに置き換えると、このエラーは解消されます。正常なイメージファイルであれば、どんなファイルでもよいのですが、ここでは、インストールされたテンプレートのファイルを利用する方法を記載します。
- Tool Window のテンプレートの場所を開く
- 例の場合
- C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\q2vm3w32.pmy\ItemTemplates\CSharp\Extensibility\VSPackage\1033\CSharpCustomToolwindow
- 例の場合
Resources フォルダ直下にある png ファイルを、プロジェクトの png ファイルと差し替えてください
プロジェクトをリビルドする
Visual Studio 2017 にインストールされたテンプレートの場所を調べる方法は、「参考」の参照先の記事に記載しています。(ログファイルを toolwindow で検索すると見つかります)
参考
Visual Studio にインストールされたテンプレートの場所を調べる方法は、以下に手順を記載しています。 - !Visual Studio 2017 のプロジェクト・項目テンプレートがインストールされている場所を調べる方法