single.php

VC++の不要になったプロジェクト構成を削除できない場合の対処法

古いバージョンのVisual Studioからプロジェクトをアップグレードした際に、不要になったプロジェクト構成を削除する際に[操作を完了できませんでした。ポインターが無効です]メッセージが表示される場合の対処法について備忘録的な記事です。

プロジェクト構成の削除エラー

過去バージョンのソースコードをVisual Studioで開く際にプロジェクトの大抵の場合は、ウィザードが表示されアップグレードが行われます。その際にVisual Studioが上手く変更してくれますが、前の開発環境で構成したビルド構成などが変更できない場合もあります。

私の経験したエラーはこんな手順でした。

  1. Visual Studioで以前のバージョンで作成したプロジェクトファイルを開き、表示されたアップグレードのウィザードは既定値のまま完了します。
  2. [ビルド|構成マネージャー]メニューを選択します。
  3. 表示された[構成マネージャー]の[構成]リストから[〈編集〉]を選択します。
  4. 表示された[プロジェクト構成の編集]画面で[削除]ボタンをクリックします。
  5. 確認メッセージで[はい]ボタンをクリックします。
  6. [操作を完了できませんでした。ポインターが無効です]メッセージが表示されます。

こんな感じで、プロジェクト構成が削除できなくなります。

対処はXMLファイルを直接編集

遭遇した場合は、Visual Studioの操作では無理なので、プロジェクト構成のファイルを直接変更することで、対処ができました。

具体的な手順は以下の通りです。

  1. Visual Studioで開いているプロジェクトを閉じます。
  2. プロジェクトが保存されているフォルダー内の[VC++プロジェクト]ファイル(拡張子が.vcxproj)をメモ帳で開きます。
  3. 表示されたXMLの[ProjectConfiguration]タグを探して、削除できない構成名のInclude属性の部分を削除します。
  4. 編集したファイルを上書き保存します。
<ItemGroup Label="ProjectConfigurations">
  <ProjectConfiguration Include="Debug|Win32">
    <Configuration>Debug</Configuration>
    <Platform>Win32</Platform>
  </ProjectConfiguration>
  <ProjectConfiguration Include="Release|Win32">
    <Configuration>Release</Configuration>
    <Platform>Win32</Platform>
  </ProjectConfiguration>
  <ProjectConfiguration Include="Debug|x64">
    <Configuration>Debug</Configuration>
    <Platform>x64</Platform>
  </ProjectConfiguration>
  <ProjectConfiguration Include="Release|x64">
    <Configuration>Release</Configuration>
    <Platform>x64</Platform>
  </ProjectConfiguration>
  <ProjectConfiguration Include="Sample|Win32">
    <Configuration>Sample</Configuration>
    <Platform>Win32</Platform>
  </ProjectConfiguration>
</ItemGroup>

例えば、[Sample|Win32]構成が削除できない場合には、上のXML内の Include=”Sample|Win32″ 部分を削除します。

変更後、Visual Studioで[ビルド|プロジェクト構成]で削除操作を行い、構成が削除できるか確認します。

まとめ

古いバージョンのソースコードを、最新のVisual Studioで開く際にウィザードが表示されますが、すべて上手にアップグレードされません。

ソースコードの修正作業より、Visual Studioに表示されるエラーやビルド時のエラーなどに悩まされるケースの方が多い場合もあります。

ビルド構成を削除する際に、メッセージが表示されて削除できない現象に陥った方の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です