0

我最近将一个大规模的VS2005解决方案迁移到一台运行相同版本VS2005的新开发机器上,一切都在链接和编译,没有任何问题。但是,当我尝试使用资源编辑器编辑任何项目资源(例如“projectname.rc”)时,我收到以下错误消息:

“Visual C++ Win32 资源编辑器资源文件已损坏,或此类文件的编辑器不可用。创建另一个资源文件或安装编辑器,然后重试。”

我尝试了多种方法来纠正这个问题,并注意到以下细节:

  • 我可以确认可以在环境中成功创建和编辑一个空白的、新创建的资源文件。
  • 整个解决方案已被清理,中间文件被删除并重建。
  • 可以在外部资源编辑器(例如 ResEdit)中打开中间资源脚本(projectname.rc 和 projectname.res),我可以确认这些脚本已正确生成
  • 二进制资源文件 (projectname.aps) 未成功生成。尝试启动资源编辑器时会创建一个 0 字节文件,但在收到上面列出的“资源文件损坏...”错误时会立即删除。我怀疑这是问题的症结所在
  • 该线程( http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/e4ef7904-0947-4792-aa4a-b28077146d02 ) 中所述,所有包含路径都已修改以确保不包含尾随反斜杠字符

我很想知道是否有人有任何建议的解决方案或进一步的步骤;简而言之,尽管解决方案编译和执行没有错误,但 IDE 似乎无法创建用于资源编辑器的二进制资源文件

IDE 详细信息:Microsoft Visual Studio 2005 版本 8.0.50727.42 (RTM.050727-4200) Microsoft .NET Framework 版本 2.0.50727 已安装版本:标准 Microsoft Visual C++ 2005 77633-235-0000007-41284

4

1 回答 1

1

如果有人遇到同样的问题,我已经解决了。对我来说,问题在于 rcxdti.dll,即 .RC 扩展编译器,位于 \VC\vcpackages 中。

通过将原始 rcxdti.dll 替换为我安装的 Visual Studio 2010 中文件的更新版本,所有 .RC 资源文件现在都可以完全编辑并在资源编辑器中打开而不会出现任何问题。

关于根本原因,我怀疑 DLL 是否损坏,因为它是全新的 VS2005 安装。我怀疑这更有可能是两个 Visual Studio 2005 开发机器的 rcxdti.dll 文件之间的颠覆不兼容。当然,如果有人对根本原因有更好的了解,我很想听听。

于 2013-07-04T09:57:02.047 回答