しかし、それは嘘です!
全てにおいて良い日!次の問題があります:リソースファイルを開こうとするとPriceCalculationUI.rc
Visual Studio 2008は、ファイルが別のエディターで開かれていることを通知します(vs2008では、.cppファイルで開いているタブは1つだけです)。この情報を確認しました。ProcessExplorerを実行し、PriceCalculationUI
ハンドルを検索しました。結果、PriceCalculationUIディレクトリを使用するdevenv.exeしか見つかりませんでした。
次に何ができますか?
助けてくれてありがとう!
追加情報:プロジェクトを再ビルド(ビルドではない)すると、ダイアログウィンドウにファイルPriceCalculationUI.rc
は別のプログラムによって編集されました。
.rcファイル/ resource.hファイルを開いていない場合でも、このエラー(Visual Studio 2010でも)で問題が発生しました。
これを修正する唯一の方法は、テキストエディターで両方のファイルを手動で開くことでした(「ドキュメント '[path]\resource.h'は既に開いています。閉じますか?はい)と答え、両方のファイルを閉じて、リソースビューでリソースファイルを開こうとします。
この MS Connectページ は、ソリューションを閉じ、.suoファイルを削除して、ソリューションを再度開くことを提案します。
この問題が発生した場合は、次のことを行う必要があります。
VSがこのエラーを出す理由は、VSがこれらのファイルを自動的に更新するためだと思います。これらのファイルのいずれかをエディターで開くと、VSは競合の可能性があると考えています。したがって、エラーが発生します。 VSは.rcを認識していないように見え、resource.hファイルが単独で開かれるため、少し誤解を招くことがあります。この場合、VSは自分の足を撃ちます。
問題が解決しました: - PriceCalculationUI.rc
がVS2008テキストエディターで開かれ(ソリューションエクスプローラーでファイルを右クリックして->コードを表示)、保存されて閉じられました。それで全部です! VS2008を再起動すると問題が再発しますが、どうすればよいかわかります。 Visual Assist Xが原因の可能性がありますか?知りません。
PS:返信ありがとう:聖体拝領は行動につながります!
これが私にとって有効な唯一の方法です(Visual Studio 2015)
1)ロックされたリソースファイルでプロジェクトを開く
2)Visual Studioでプロジェクトの開いているすべてのファイルを閉じます。
3)Visual Studioを閉じます
4)Visual Studioを起動してプロジェクトを再度開きます
5)完了。リソースファイルのロックが解除されています...
Visual Studioで手動で。rcファイルを開くだけ
。rcファイルを右クリックして、Openをクリックします
VSで開いているすべてのファイルを閉じます。次に、rcファイルを開くことができます。
今日、私は同じ問題に遭遇しました、そしてここに私が私の問題を解決した方法があります。
根本的な原因:ソリューションから 'Resource.h'ファイルを開き、VSエディターで現在開いている状態です。このファイルが開いていると、リソースビューで.rcファイルにアクセスできません(「別のエディターで開かれたメッセージがスローされます」
解決策:VSエディターのタブでResource.hファイルを閉じた後、.rcファイルを適切に開きました。
同じ問題がある場合は、それが役立つことを願っています。
関連するリソースインクルードファイル(例:resource1.h)も閉じる必要があることが判明したので、...
別の可能性があります-新しい#defineを追加するためにresource.hファイルを手動で編集したが、たとえば_APS_NEXT_CONTROL_VALUEを更新するために省略した場合、たとえば新しいコントロールを定義するために、次の行を追加しました
#define IDC_LIST_MAINWIN 1003
行を修正するのを忘れた
#define _APS_NEXT_CONTROL_VALUE 1003
に
#define _APS_NEXT_CONTROL_VALUE 1004
変更を加えると、問題はなくなりました。
回答には何も記載されていませんが、今日遭遇したもの:
リソースヘッダーファイルにブレークポイントがある場合、関連するリソースファイルは使用中と見なされます。すべてが再び機能するために必要なのは、ブレークポイントを削除することだけでした