Edited at

Visual Studio 拡張機能を新規作成後、System.OutOfMemoryException が発生し、ビルドエラーが出るときの対処法

More than 1 year has passed since last update.


はじめに

Visual Studio の拡張機能を新規作成し、ビルドを行うと、System.OutOfMemoryException というエラーメッセージが表示され、ビルドが失敗する場合があります。

例えば、以下の手順のように何もコードを記述していない状態でも、このエラーは発生することがあります。


  1. Visual Studio で VSIX プロジェクトを新規作成

  2. プロジェクトに 「Tool Window」を新規追加

  3. プロジェクトをビルドする

  4. ビルドエラー発生


原因

テンプレートから作成されたイメージファイルが壊れていることが原因と思われます。

ファイルを開くと、「サポートされていない形式のようです」というエラーで開けない。


対処方法

壊れているイメージファイルを正常なイメージファイルに置き換えると、このエラーは解消されます。正常なイメージファイルであれば、どんなファイルでもよいのですが、ここでは、インストールされたテンプレートのファイルを利用する方法を記載します。


  • 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 のプロジェクト・項目テンプレートがインストールされている場所を調べる方法