この記事は、Visual C++ プロジェクトの編集中に Microsoft Visual Studio 2012 でファイルを保存できない問題を解決するのに役立ちます。
元の製品バージョン: Visual Studio Premium 2012、Visual Studio Ultimate 2012
元の KB 番号: 2839032
現象
Visual Studio 2012 を使用しており、Visual C++ プロジェクトを編集し、リソース エディターのダイアログに変更を加えています。 予期しないメッセージ ボックスが次のエラー メッセージとともに表示されます。
ファイルを保存できません。
原因
[自動バックアップ] 機能がリソース エディターとどのように相互作用するかに問題があります。 [自動バックアップ] の間隔が期限切れになると、リソースが保存されていない場合、[自動バックアップ] はそれを試みます。
Note
既定の間隔は 5 分ごとです。
リソース ファイルの保存中に、「resource.hm」という名前のファイルを保存しようとします。 resource.hm は、ネイティブ UI プロジェクトを生成するときのオプションである状況依存ヘルプを使用しているときに使用されます。 有効にすると、ヘルプ ID ヘッダー ファイル resource.hm に書き込まれるヘルプ ID が作成されます。 1 つ以上のリソースに対して Help ID プロパティを有効にしない限り、resource.hmはありません。
解決方法
編集したリソースを [自動バックアップ] で保存しないようにします。
Tools>Options>Environment>AutoRecoverのAutoRecoverオプションを無効にするには、[自動回復情報の保存間隔:] チェック ボックスをオフにします。
自動保存のトリガーを回避するために、指定した間隔内に編集したリソースを保存します。 間隔を長くすることもできますが、この間隔を使用すると、保存されていない作業が失われるリスクも高まります。
状況依存ヘルプは使用しないでください。
コンテキスト ヘルプ ID を使用していない場合は、すべてのコントロールでこれをオフにするのが最も簡単な解決策です。 リソース エディターからオフにするのが最も安全です。 リソース エディターで、すべてのコントロールを確認すると、プロパティの 1 つが [ヘルプ ID] になります。 Trueのすべてのコントロールに対してFalse に設定します。
代わりに、.rc ファイルを直接編集できます。 たとえば、[ヘルプ ID] を持つすべてのコントロールの最後のパラメーターをここで削除すると、機能がオフになります。
DEFPUSHBUTTON "OK",IDOK,103,31,50,14,WS_GROUP,0,HIDOK