VS2012:“找不到资源编译器 DLL。请确保路径正确。”

Posted

技术标签:

【中文标题】VS2012:“找不到资源编译器 DLL。请确保路径正确。”【英文标题】:VS2012: “Cannot find the resource compiler DLL. Please make sure the path is correct.” 【发布时间】:2014-03-11 16:27:14 【问题描述】:

当我尝试打开 VC++ 2012 项目 (MFC) 的资源视图进行资源编辑时,我收到此错误:“找不到资源编译器 DLL。请确保路径正确。”

我确实在 SO 上找到了一个较早的问题:“VS2010:“找不到资源编译器 DLL。请确保路径正确。”和许多其他类似的通过谷歌,但那里给出的建议都没有帮助。我的 VS2012 设置修复了两次,确实尝试了文章中提到的所有注册表调整。看起来所需的 DLL 是 rcdll.dll,在几个 Windows SDK Bin 目录,将它们添加到系统路径(32 位和 x64 目录),仍然没有。

在这个问题上浪费了 4 个多小时。还有什么可以尝试的吗?谢谢!

格雷格

【问题讨论】:

请发布您的代码,并告诉我们哪里出了问题,以便我们提供帮助 Philip,代码无关,它无法打开任何VC++项目的任何资源编辑部分...你在VS中编辑对话框、菜单、工具栏的部分。 【参考方案1】:

当我发布上述问题时,出于某种原因,我使用不同的帐户登录了我。不会批准我自己的答案,以免给自己加分。

终于弄明白了,大约一个小时后,使用 Sysinternals procmon 跟踪 VS2012 devenv.exe 进行的所有文件和注册表访问调用。事实证明,至少在我的系统上,VS2012 只在寻找这个密钥,而忽略了其他所有内容:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0

一旦我将 InstallationFolder 值设置为有效的 Windows SDK 文件夹(无论是版本 7、7.1 还是 8.1 SDK),一切都开始正常工作。奇怪的是,所有其他类似问题的帖子都建议设置:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows

CurrentInstallFolderCurrentVersion 的值到您希望它使用的任何 SDK,并且它应该可以工作。不是这样,只有上面提到的键和值被阅读和尊重。多次重新安装 Windows 7.1 和 8.1 SDK 也无济于事。

也许这是 VS2012 Update 4 中的某种错误,这是撰写本文时最新的。在这样一个愚蠢的问题上浪费了这么多时间,希望这篇文章能帮助其他人避免这样的损失。

格雷格

【讨论】:

【参考方案2】:

您可以简单地将编译器从资源编译器更改为 C / C++ 编译器,您可以通过简单地创建一个资源来做到这一点,然后右键单击已生成的空资源并在资源右键单击[nameofyourproject].rc,然后选择属性并从项目类型中将其更改为C / C++编译器。

【讨论】:

以上是关于VS2012:“找不到资源编译器 DLL。请确保路径正确。”的主要内容,如果未能解决你的问题,请参考以下文章

VS2012的水晶报告 - VS2013 - VS2015 - VS2017

C语言编译器VS2012问题

VS2012 到 VS2015 迁移

VS2012 C#如何储存本地数据

Blend + VS 2012 Ultimate Form 在 VS 中缺失

VS2012中WPF设计界面卡(C#)