VS2008:"资源文件在另一个编辑器中打开"

时间:2013-06-14 06:38:22

标签: visual-c++ visual-studio-2008 mfc resource-editor

但这是谎言!

大家好日子! 我有以下问题:当我尝试打开资源文件PriceCalculationUI.rc时,Visual Studio 2008告诉我该文件是在另一个编辑器中打开的(在vs2008中,我只有一个打开的选项卡,带有.cpp文件)。 我检查了这个信息:运行Process Explorer并搜索PriceCalculationUI句柄。在结果中,我发现除了使用PriceCalculationUI目录的devenv.exe之外什么都没有。

接下来我该怎么办?

感谢您的帮助!

附加信息:当我重建(不构建)项目时,我看到对话框窗口,其中包含文件PriceCalculationUI.rc由其他程序编辑的信息。

12 个答案:

答案 0 :(得分:17)

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

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

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

答案 1 :(得分:11)

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

  1. 关闭.rc,在Visual Studio和外部打开的resource.h文件。
  2. 在VS“资源视图”选项卡中折叠项目,以便为VS提供刷新的机会。
  3. 尝试从“资源视图”标签
  4. 再次展开.rc

    VS给出此错误的原因,我相信VS会自动更新这些文件。如果您在编辑器中打开任何这些文件,VS认为存在冲突的可能性。所以它给你一个错误。有时候它有点误导,因为VS看起来不知道.rc,而且resource.h文件是自己打开的。在这种情况下,VS射击自己的脚。

答案 2 :(得分:8)

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

P.S。:感谢您的回复:圣餐导致行动!

答案 3 :(得分:3)

这是对我有用的唯一方法(Visual Studio 2015)
1)打开具有锁定资源文件的项目
2)在Visual Studio中关闭项目的所有打开文件 3)关闭Visual Studio
4)启动Visual Studio并重新打开项目
5)完成。资源文件已解锁...

答案 4 :(得分:2)

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

答案 5 :(得分:2)

在visual studio中手动打开 .rc 文件

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

答案 6 :(得分:1)

今天我遇到了同样的问题,这就是我解决问题的方式。

根本原因:我从解决方案中打开了'Resource.h'文件,该文件当前在VS编辑器中处于打开状态。打开此文件后,它不允许我在资源视图中访问.rc文件。(“在另一个编辑器中打开消息会抛出)

解决方案:只需在VS编辑器选项卡中关闭Resource.h文件,然后即可正确打开.rc文件。

如果您遇到同样的问题,希望它会有所帮助。

答案 7 :(得分: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

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

答案 8 :(得分:0)

  1. 关闭VS中的所有项目。
  2. 关闭VS。
  3. 用空白项目重新打开VS.
  4. 仅打开资源文件。

答案 9 :(得分:0)

事实证明,相关资源包含文件(例如: resource1.h )也必须关闭,所以......

  • 确保VersionResource.rc未打开
  • 确保所有相关资源文件未打开
  • 在“资源视图”窗格中折叠树
  • 在“资源视图”窗格中重新展开树
  • (希望)观察到错误消失

答案 10 :(得分:0)

我今天遇到的任何答案都没有提到:

如果资源头文件中有断点,则认为相关的资源文件正在使用中。删除断点是一切重新运行所需的一切

答案 11 :(得分:-1)

这对我有用:

  1. 关闭所有Visual Studio实例
  2. 删除项目.aps文件。
  3. 重新开放项目。
  4. 如果以上操作无效,则对于步骤2,删除所有项目临时文件与文件。