【问题标题】:VS2008: "Resource file opened in another editor"VS2008:“在另一个编辑器中打开的资源文件”
【发布时间】:2013-06-10 18:00:39
【问题描述】:

但这是个谎言!

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

接下来我能做什么?

感谢您的帮助!

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

【问题讨论】:

  • MsVS 中令人讨厌的错误,即使在 VS 2018 中仍然存在。打开一个 RC 文件,查找所有对话项目之一 - 并将文件作为源文件打开。编辑并保存,关闭文件 - 通常文件将“仍然打开”并且 VS 拒绝打开它。不知道为什么他们不能随便打开它,如果他们像任何其他源文件一样检测到更改,只需刷新它。很不幸。

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


【解决方案1】:

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

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

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

【讨论】:

  • 提示:使用解决方案资源管理器中 .rc 文件上下文菜单中的“查看代码”选项在 VS 文本编辑器中打开 .rc 文件。
  • 不敢相信这有效。 VS2019。九年后,同样的问题,同样的解决方案。
  • 10 年后……即使重新启动我的电脑。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    P.S.:感谢您的回复:交流导致行动!

    【讨论】:

    • >>但我知道该怎么做
    • PriceCalculationUI.rc 在 VS2008 文本编辑器中打开(右键单击解决方案资源管理器中的文件 --> 查看代码)然后保存并关闭。之后PriceCalculationUI.rc 可以在资源编辑器中打开。
    • 好的,谢谢(我的回答是“...在文本编辑器中手动打开这两个文件...”)
    • 是的,原理是一样的,谢谢。但我不明白为什么重启 Visual Studio 后问题又回来了?
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

      • 步骤 3/4 不应该是必要的 - 关闭所有相关文件(见 codermark 的回答)应该“解锁”它就 Visual Studio 而言。
      【解决方案6】:

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

      右击.rc文件并点击打开

      【讨论】:

        【解决方案7】:
        1. 关闭VS中的所有项目。
        2. 关闭VS。
        3. 使用空白项目重新打开 VS。
        4. 单独打开资源文件。

        【讨论】:

          【解决方案8】:

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

          根本原因:我从我的解决方案中打开了“Resource.h”文件,并且它当前在我的 VS 编辑器中处于打开状态。当这个文件打开时,它不能让我在资源视图中访问 .rc 文件。(“抛出在另一个编辑器中打开的消息)

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

          希望对你有帮助,如果你有同样的问题。

          【讨论】:

            【解决方案9】:

            还有另一种可能——你手动编辑了resource.h文件,比如说添加了一个新的#define,但省略了更新_APS_NEXT_CONTROL_VALUE,例如,为了定义一个新控件,我添加了这一行

            #define IDC_LIST_MAINWIN 1003
            

            但忘记修改行

            #define _APS_NEXT_CONTROL_VALUE 1003
            

            #define _APS_NEXT_CONTROL_VALUE 1004
            

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

            【讨论】:

              【解决方案10】:

              原来相关的资源包含文件(例如:resource1.h)也必须关闭,所以...

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

              【讨论】:

                【解决方案11】:

                我今天遇到的任何答案中没有提到的东西:

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

                【讨论】:

                  【解决方案12】:

                  我遇到了这个问题。

                  CoderMarks 解决方案为我解决了这个问题。

                  【讨论】:

                  • 这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
                  【解决方案13】:

                  这对我有用:

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

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-04-09
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2016-09-05
                    相关资源
                    最近更新 更多