我安装的 Visual Studio 2010 Professional SP1 无法再编译。显示的错误是:
TRACKER : error TRK0005: Failed to locate: "CL.exe".
The system cannot find the file specified.
奇怪的是,现在也无法创建新项目了 - 向导出现了,但当我按下创建时它只会重新启动。我发现 Visual Studio 的路径现在是从注册表中的设置构建的。也就是说
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio
。将同事的安装与我的安装进行比较,没有发现任何不同的设置。所以它Property Pages/Configuration Properties/VC++ Directories
看起来是这样的:
Executable Directories: $(ExecutablePath)
Include Directories: $(IncludePath)
Reference Directories: $(ReferencePath)
Library Directories: $(LibraryPath)
Source Directories: $(SourcePath)
Exclude Directories: $(ExcludePath)
从Visual Studio 2010 Command Prompt
可以cl.exe
发现。
我只能猜测,这种现象是由于几个月前重新安装 Studio(安装到不同的文件夹)造成的。由于我们的主要项目使用外部构建脚本,因此很可能从那时起它就坏了。
有什么提示吗?
答案1
编译问题
经过进一步研究我发现问题在 MSDN 上。一位 Microsoft 员工的回答包含了一些有关如何调试 VS 安装的提示。即:
- 以管理员身份运行。
- 从命令行启动:
Devenv.exe /log C:\VS_error.log
Devenv.exe /Resetsettings
Devenv.exe /ResetSkipPkgs
Devenv.exe /Safemode
Devenv.exe /Resetsettings
- 将操作系统重新启动到安全模式。
- 使用进程监控看看 VS 正在尝试做什么。
这些都无济于事,所以我修复了 VS 2010 和 SP1 的安装 - 但还是没用。之后我重置了设置 - 也没用。让我再次启动的是打开Property Pages
我的项目,然后Configuration Properties/General/Platform Toolset
。以下是我的安装中列出的三个选项:
- v100
- v90
- Windows7.1SDK
活动版本是,v100
所以我切换到了v90
。使用该工具集,VS 可以再次编译。显然这不是一个好的解决方案,因为 9 编译器不是最新的编译器,所以这只是解决我的问题的一个方法。
项目创建问题
VS 的修复安装在这里也无济于事。这stackoverflow 问题解决了部分问题。在注册表中添加.vbproj
和vcproj
之后HKEY_CURRENT_USER\Software\Classes
,我能够再次创建 Visual Basic 和 C# 项目。但我仍然无法创建任何 C++ 项目。
由于解决方案的缺陷,我不会将我的答案标记为问题的解决方案。在我看来,注册表似乎乱了套,我很想了解问题的根源。