VS2010 \VC\bin\rcdll.dll 无法找到资源编译器
Posted by Microsoft on 2/16/2010 at 12:24 PM
I have a consistent repro now, and believe I have a workaround. Please let me know if you have any problem.
Option 1:
Although the .rc file (resource script) does not need to be updated to use it in the way you're used to in VS2010, it will not work the same way until an .aps file is created by a successful build of the script. Unfortunately until that file exists it will attempt to run the v6.0a compiler, and will have problems depending on your machine configuration.
Visual Studio corrects for this problem, but only if you build the resource as part of a solution or project. It is not merely enough to upgrade the project, you must then open the solution/project that include the .rc, clean and rebuild that project. After doing so, the .rc file should work the way you are accustomed to in VS2008.
Option 2:
NOTE: This will affect your Visual Studio 2008 installations, if you have any on your machine. Make this change at your own risk. Invoking "repair" from Add/Remove Programs in the Control Panel for your Visual Studio 2008 installations may fix any damage done to your system, but will cause Visual Studio 2010 to revert back to the same behavior you noticed in the first place.
If you absolutely can't or don't want to use a project/solution, unfortunately you need to update a path in the registry. You can merge the attached AddHKCU70a.reg key into your registry and it should solve the problem.
Option 3 (same warnings as option 2):
You can add the following keys into your registry yourself, if you are comfortable doing so:
[HKEY_CURRENT_USER\Software\Microsoft\Microsoft SDKs\Windows]
"CurrentVersion"="v7.0a"
"CurrentInstallFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\"
If you use option 2 or option 3, you will need to go in and delete the [HKEY_CURRENT_USER\Software\Microsoft\Microsoft SDKs\Windows] from your registry, and/or modify the values to point back to your v6.0a SDK install.
I am closing this connect issue as resolved for now. If this does not work for you, please let me know and I will try something else.
Thanks,
Mike Johnson
Software Development Engineer in Test
Windows C++ Team
实际上最简单的办法是在注册表中找到:HKEY_CURRENT_USER\Software\Microsoft\Microsoft SDKs\Windows
在windows项中建如下两项并设置相应值:
"CurrentVersion"="v7.0a"
"CurrentInstallFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\"
如下所示:
[HKEY_CURRENT_USER\Software\Microsoft\Microsoft SDKs\Windows]
"CurrentVersion"="v7.0a"
"CurrentInstallFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\"