28

但这是一个谎言!

祝大家有美好的一天!我有以下问题:当我尝试打开资源文件时,PriceCalculationUI.rcVisual Studio 2008 告诉我该文件已在另一个编辑器中打开(在 vs2008 中,我只打开了 1 个带有 .cpp 文件的选项卡)。我检查了这些信息:运行 Process Explorer 并搜索PriceCalculationUI句柄。在结果中,我只找到了使用 PriceCalculationUI 目录的 devenv.exe。

接下来我能做什么?

谢谢你的帮助!

附加信息:当我重建(而不是构建)项目时,我会看到对话框窗口,其中包含该文件PriceCalculationUI.rc已被另一个程序编辑的信息。

4

13 回答 13

27

即使我没有打开 .rc 文件/resource.h 文件,我也遇到过这个错误的问题(也在 Visual Studio 2010 中)。

解决此问题的唯一方法是在文本编辑器中手动打开这两个文件(有时我会收到一个消息框“文档 '[path]\resource.h' 已经打开。你想关闭它吗?我回答是),关闭这两个文件并尝试在资源视图中打开资源文件。

MS Connect 页面建议关闭解决方案,删除 .suo 文件并重新打开解决方案。

于 2013-06-14T09:00:38.657 回答
16

如果您遇到此问题,您将需要:

  1. 关闭在 Visual Studio 内外打开的 .rc、resource.h 文件。
  2. 折叠 VS“资源视图”选项卡中的项目,让 VS 有机会刷新。
  3. 尝试从“资源视图”选项卡再次展开 .rc

VS给出这个错误的原因,我相信是VS会自动更新这些文件。如果您在编辑器中打开这些文件中的任何一个,VS 认为会有冲突的机会。所以它给你一个错误。有时它有点误导,因为VS似乎不知道.rc,并且resource.h文件是自己打开的。在这种情况下,VS 会踢自己的脚。

于 2013-09-27T23:57:45.913 回答
8

问题解决: PriceCalculationUI.rc在VS2008文本编辑器中打开(右键单击解决方案资源管理器中的文件->查看代码)然后保存并关闭。就这样!当我重新启动 VS2008 时,问题又回来了,但我知道该怎么做。可能是因为 Visual Assist X?我不知道。

PS:感谢您的回复:交流导致行动!

于 2013-06-14T11:15:39.567 回答
3

关闭 VS 中所有打开的文件。然后我就可以打开rc文件了。

于 2015-04-08T11:14:17.210 回答
3

This is the only way that works for me (Visual Studio 2015)
1) Open project with locked resource file
2) Close all open files of the project in Visual Studio.
3) Close Visual Studio
4) Start Visual Studio and reopen the project
5) Done. The resource file is unlocked...

于 2016-07-24T13:20:29.547 回答
2

只需在 Visual Studio 中手动打开.rc文件

右键单击.rc文件,然后单击打开

于 2016-05-02T04:50:42.683 回答
1
  1. 关闭 VS 中的所有项目。
  2. 关闭 VS。
  3. 用空白项目重新打开 VS。
  4. 单独打开资源文件。
于 2015-06-05T08:46:49.153 回答
1

Today I encounterd the same issue and here is how I solved my problem.

Root Cause: I opened 'Resource.h' file from my solution and its currently in open state in my VS editor. When this file is open, it can't allow me to access the .rc file in resource view.("opened in another editor message is thrown)

Resolution: Simply I closed the Resource.h file in the VS editor tab then the .rc file open properly.

Hope it helps, if you have same problem.

于 2018-08-12T14:24:57.280 回答
0

这是另一种可能性-您手动编辑了resource.h文件,例如添加了新的#define,但省略了更新_APS_NEXT_CONTROL_VALUE,例如,要定义新控件,我添加了该行

#define IDC_LIST_MAINWIN 1003

但忘记修改线路

#define _APS_NEXT_CONTROL_VALUE 1003

#define _APS_NEXT_CONTROL_VALUE 1004

一旦我做出改变,问题就消失了。

于 2014-01-16T19:05:45.120 回答
0

It turns out that related resource include files (ex: resource1.h ) must also be closed, So...

  • make sure that the VersionResource.rc is not open
  • make sure that all related resource files are not open
  • collapse the tree in the Resource View pane
  • re-expand the tree in the Resource View pane
  • (hopefully) observe that the error is gone
于 2017-08-08T17:36:55.667 回答
0

Something not mentioned in any answer but that I encountered today:

If you have a breakpoint in the resource header file the related resource file is considered in use. Removing the breakpoint was all that was needed for everything to work again

于 2018-08-07T00:40:58.420 回答
0

I had this issue.

CoderMarks solution solved it for me.

于 2021-11-14T19:11:51.513 回答
-1

这对我有用:

  1. 关闭 Visual Studio 的所有实例
  2. 删除项目 .aps 文件。
  3. 重新打开项目。

如果上述方法不起作用,请在第 2 步中删除所有项目临时文件和文件。

于 2016-06-14T08:17:51.510 回答