web-dev-qa-db-ja.com

VS2008:「別のエディターで開かれたリソースファイル」

しかし、それは嘘です!

全てにおいて良い日!次の問題があります:リソースファイルを開こうとするとPriceCalculationUI.rc Visual Studio 2008は、ファイルが別のエディターで開かれていることを通知します(vs2008では、.cppファイルで開いているタブは1つだけです)。この情報を確認しました。ProcessExplorerを実行し、PriceCalculationUIハンドルを検索しました。結果、PriceCalculationUIディレクトリを使用するdevenv.exeしか見つかりませんでした。

次に何ができますか?

助けてくれてありがとう!

追加情報:プロジェクトを再ビルド(ビルドではない)すると、ダイアログウィンドウにファイルPriceCalculationUI.rcは別のプログラムによって編集されました。

21
GrinderZ

.rcファイル/ resource.hファイルを開いていない場合でも、このエラー(Visual Studio 2010でも)で問題が発生しました。

これを修正する唯一の方法は、テキストエディターで両方のファイルを手動で開くことでした(「ドキュメント '[path]\resource.h'は既に開いています。閉じますか?はい)と答え、両方のファイルを閉じて、リソースビューでリソースファイルを開こうとします。

この MS Connectページ は、ソリューションを閉じ、.suoファイルを削除して、ソリューションを再度開くことを提案します。

21
Edward Clements

この問題が発生した場合は、次のことを行う必要があります。

  1. visual Studioの内部と外部で開かれた.rcファイルとresource.hファイルを閉じます。
  2. vSの[リソースビュー]タブのアイテムを折りたたんで、VSを更新する機会を与えます。
  3. [リソースビュー]タブから.rcをもう一度展開してみてください

VSがこのエラーを出す理由は、VSがこれらのファイルを自動的に更新するためだと思います。これらのファイルのいずれかをエディターで開くと、VSは競合の可能性があると考えています。したがって、エラーが発生します。 VSは.rcを認識していないように見え、resource.hファイルが単独で開かれるため、少し誤解を招くことがあります。この場合、VSは自分の足を撃ちます。

13
user2825261

問題が解決しました: - PriceCalculationUI.rcがVS2008テキストエディターで開かれ(ソリューションエクスプローラーでファイルを右クリックして->コードを表示)、保存されて閉じられました。それで全部です! VS2008を再起動すると問題が再発しますが、どうすればよいかわかります。 Visual Assist Xが原因の可能性がありますか?知りません。

PS:返信ありがとう:聖体拝領は行動につながります!

8
GrinderZ

これが私にとって有効な唯一の方法です(Visual Studio 2015)
1)ロックされたリソースファイルでプロジェクトを開く
2)Visual Studioでプロジェクトの開いているすべてのファイルを閉じます。
3)Visual Studioを閉じます
4)Visual Studioを起動してプロジェクトを再度開きます
5)完了。リソースファイルのロックが解除されています...

3

Visual Studioで手動で。rcファイルを開くだけ

。rcファイルを右クリックして、Openをクリックします

2
Yogesh Gat

VSで開いているすべてのファイルを閉じます。次に、rcファイルを開くことができます。

2
Libor B.
  1. VSのすべてのプロジェクトを閉じます。
  2. VSを閉じます。
  3. 空のプロジェクトでVSを再度開きます。
  4. リソースファイルのみを開きます。
1
bruce

今日、私は同じ問題に遭遇しました、そしてここに私が私の問題を解決した方法があります。

根本的な原因:ソリューションから 'Resource.h'ファイルを開き、VSエディターで現在開いている状態です。このファイルが開いていると、リソースビューで.rcファイルにアクセスできません(「別のエディターで開かれたメッセージがスローされます」

解決策:VSエディターのタブでResource.hファイルを閉じた後、.rcファイルを適切に開きました。

同じ問題がある場合は、それが役立つことを願っています。

1
cpp_learner

関連するリソースインクルードファイル(例:resource1.h)も閉じる必要があることが判明したので、...

  • versionResource.rcが開いていないことを確認してください
  • 関連するすべてのリソースファイルが開いていないことを確認してください
  • リソースビューペインのツリーを折りたたむ
  • リソースビューペインでツリーを再度展開する
  • (うまくいけば)エラーがなくなったことを確認します
0
CoderMark

別の可能性があります-新しい#defineを追加するためにresource.hファイルを手動で編集したが、たとえば_APS_NEXT_CONTROL_VALUEを更新するために省略した場合、たとえば新しいコントロールを定義するために、次の行を追加しました

#define IDC_LIST_MAINWIN 1003

行を修正するのを忘れた

#define _APS_NEXT_CONTROL_VALUE 1003

#define _APS_NEXT_CONTROL_VALUE 1004

変更を加えると、問題はなくなりました。

0
Ian

回答には何も記載されていませんが、今日遭遇したもの:

リソースヘッダーファイルにブレークポイントがある場合、関連するリソースファイルは使用中と見なされます。すべてが再び機能するために必要なのは、ブレークポイントを削除することだけでした

0
ThE_JacO