您的位置:首页 > 其它

vs2012 无法使用命令行提示符?ERROR: Cannot determine the location of the VS Common Tools folder.

2014-05-05 15:19 1586 查看
vs2012 无法使用命令行提示符?

提示:

ERROR: Cannot determine the location of the VS Common Tools folder.
百度了很多方法,都是直接修改vcvars32.bat 文件指定具体路径:


VS2012命令提示符无法使用的解决方法

打开VS2012命令提示符时报错“ERROR: Cannot determine the location of the VS Common
Tools folder.”


解决方法:
1.打开计算机->属性->高级系统设置
2.新建变量VS110COMNTOOLS,属性值设置为C:\Program Files (x86)\Microsoft Visual
Studio 11.0\Common7\Tools\
3.打开编译VC\bin目录下的vcvars32.bat文件,在第一行添加下列语句:
@echo
Setting environment for using Microsoft Visual Studio 2012 x64 tools

@SET VSINSTALLDIR=c:\Program Files\Microsoft Visual Studio 11.0

@SET VCINSTALLDIR=c:\Program Files\Microsoft Visual Studio 11.0\VC

@SET FrameworkDir32=c:\Windows\Microsoft.NET\Framework

@SET FrameworkVersion32=v4.0.30319

@SET Framework35Version=v3.5
并注释掉下列语句:
::@call
:GetVSCommonToolsDir

::@if "%VS110COMNTOOLS%"=="" goto error_no_VS110COMNTOOLSDIR
::@call
"%VS110COMNTOOLS%VCVarsQueryRegistry.bat" 32bit No64bit

根本原因:公司禁用了注册表编辑器

查看vcvars32.bat 代码,可以看到,它使用reg命令从注册表取路径。由于禁用了注册表编辑器,reg无法运行。所以取不到路径。
:GetVSCommonToolsDir
@set VS110COMNTOOLS=
@call :GetVSCommonToolsDirHelper32 HKLM > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper32 HKCU > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKLM > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKCU > nul 2>&1
@exit /B 0

:GetVSCommonToolsDirHelper32
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "11.0"') DO (
@if "%%i"=="11.0" (
@SET "VS110COMNTOOLS=%%k"
)
)
@if "%VS110COMNTOOLS%"=="" exit /B 1
@SET "VS110COMNTOOLS=%VS110COMNTOOLS%Common7\Tools\"
@exit /B 0

解决办法:
取消禁用注册表编辑器!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐