Visual c++ VS2008:;在另一个编辑器中打开的资源文件;

Visual c++ VS2008:;在另一个编辑器中打开的资源文件;,visual-c++,visual-studio-2008,mfc,resource-editor,Visual C++,Visual Studio 2008,Mfc,Resource Editor,但这是个谎言 大家好! 我有以下问题:当我尝试打开资源文件PriceCalculationUI.rcVisualStudio2008时,告诉我该文件是在另一个编辑器中打开的(在vs2008中,我只有一个打开了带有.cpp文件的选项卡)。 我检查了这些信息:运行Process Explorer并搜索PriceCalculationUIhandle。在结果中,我只找到了使用PriceCalculationUI目录的devenv.exe 下一步我能做什么 谢谢你的帮助 其他信息:当我重建(而不是构建)

但这是个谎言

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

下一步我能做什么

谢谢你的帮助


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

即使未打开.rc文件/resource.h文件,我也会遇到此错误(同样在Visual Studio 2010中)

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

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

问题已解决:
PriceCalculationUI.rc
在VS2008文本编辑器中打开(右键单击解决方案资源管理器中的文件-->查看代码),然后将其保存并关闭
。仅此而已! 当我重新启动VS2008时,问题又出现了,但我知道该怎么办。 可能是因为视觉辅助X?我不知道


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

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

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

  • VS给出这个错误的原因,我相信是VS会自动更新这些文件。如果你在编辑器中打开其中任何一个文件,VS认为会有冲突的机会。所以它会给你一个错误。有时这会有点误导,因为VS似乎不知道.rc,而resource.h文件是自己打开的。VS会自动拍摄自己的foot在本例中。

    这里还有另一种可能性-您手动编辑了resource.h文件,比如说添加了一个新的#define,但忽略了更新_APS_NEXT_CONTROL_值,例如,为了定义一个新控件,我添加了行

    #define IDC_LIST_MAINWIN 1003
    
    #define _APS_NEXT_CONTROL_VALUE 1003
    
    但是忘了修改行

    #define IDC_LIST_MAINWIN 1003
    
    #define _APS_NEXT_CONTROL_VALUE 1003
    


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

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

  • 关闭VS中的所有项目
  • 关闭VS
  • 使用空白项目重新打开VS
  • 单独打开资源文件

  • 只需在visual studio中手动打开.rc文件即可

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

    这对我来说很有效:

  • 关闭Visual Studio的所有实例
  • 删除project.aps文件
  • 重新打开项目

  • 如果上述方法不起作用,对于步骤2,请删除所有项目临时vs文件。

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

    5) 完成。资源文件已解锁…

    结果是,相关资源包括文件(例如:resource1.h)也必须关闭,因此

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

      • 任何答案中都没有提到,但我今天遇到了:


        如果资源头文件中有断点,则相关资源文件将被视为正在使用。删除断点是一切恢复正常所需的全部工作

        今天我遇到了相同的问题,下面是我解决问题的方法

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

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


        如果您有同样的问题,希望它能帮助您。

        >>但我知道该怎么做
        PriceCalculationUI.rc
        是在VS2008文本编辑器中打开的(右键单击解决方案资源管理器-->查看代码中的文件),然后保存并关闭的。然后可以在资源编辑器中打开
        PriceCalculationUI.rc
        。好的,谢谢(我的回答是“…在文本编辑器中手动打开这两个文件…”)是的,原理是一样的,谢谢。但我不明白重新启动Visual Studio后为什么会出现问题?提示:使用解决方案资源管理器中.rc文件上下文菜单中的“查看代码”选项在VS文本编辑器中打开.rc文件。真不敢相信这会起作用。VS2019。同样的问题,同样的解决方案,九年后。十年后。。。即使在重新启动我的计算机后,也不需要执行步骤3/4-关闭所有相关文件(请参阅codermark的答案)应该可以“解锁”visual studio。MSV中恼人的错误,即使在VS 2018中仍然存在。打开一个RC文件,对其中一个对话项执行“全部查找”,并将该文件作为源文件打开。编辑并保存,关闭文件-文件通常“仍处于打开状态”,VS拒绝打开它。不知道为什么他们不能直接打开它,如果他们像其他源文件一样检测到更改,就直接刷新它。非常不幸。