我使用批处理来构建我的解决方案。它适用于Visual Studio 2013。 但是使用Visual Studio 2015会出现此错误:
错误:无法确定VS安装的位置
批量生效VS2013
呼叫"%VS120COMNTOOLS%vsvars32.bat"
msbuild solution.sln / t:rebuild / p:Configuration = Release / p:Platform ="任何CPU"
工作正常。
批量生效VS2015
呼叫"%VS140COMNTOOLS%vsvars32.bat"
msbuild solution.sln / t:rebuild / p:Configuration = Release / p:Platform ="任何CPU"
错误:无法确定VS安装的位置。
环境变量 VS140COMNTOOLS 定义为
C:\ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ Tools
这不是我操作系统上的好路径(Windows 8.1 64位)。 所以我将 VS140COMNTOOLS 设置为
C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ Tools
但错误信息仍然相同。
如果有人有想法......
在此先感谢:)
我找到了mklink的临时解决方法(并添加了旧版Visual Studio的兼容性):
IF NOT "%VS140COMNTOOLS%" == "" ( IF NOT EXIST "%VS140COMNTOOLS%" ( mklink /J "%VS140COMNTOOLS%" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools" ) call "%VS140COMNTOOLS%vsvars32.bat" echo Visual Studio 2015... ) ELSE ( IF NOT "%VS120COMNTOOLS%" == "" ( call "%VS120COMNTOOLS%vsvars32.bat" echo Visual Studio 2013... ) ELSE ( call "%VS110COMNTOOLS%vsvars32.bat" echo Visual Studio 2012... ) )
...并且在调用msbuild之后。
你有最好的解决方案吗?...
答案 0 :(得分:8)
对我来说,HKLM \ SOFTWARE \ Microsoft \ VisualStudio \ SxS \ VS7中的路径缺少(x86)
。
可以使用此.reg
文件解决:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7]
"14.0"="C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\"
谢谢你的提示。
答案 1 :(得分:4)
我最近遇到了同样的问题。问题是PATH过长,导致在批处理文件中调用时找不到C:\Windows\System32\reg.exe
命令。我从我的PATH
删除了我能做的事情,这纠正了问题。
答案 2 :(得分:2)
我在VS 2013和%VS110COMNTOOLS%上遇到了类似的问题...我尝试过在互联网上找到的大量东西,但没有一个工作,我在网上找到的最常见的解决方案是C:\ windows \ system32从PATH环境变量中丢失,但在我的机器上所有变量都是正确的,并指向正确的目录。
我安装了vs2017的Windows 10映像,之前没有安装其他可视工作室,所以我恢复了该映像,然后继续安装VS2013,然后我安装了VS2010,最后安装了VS2012。
执行此操作后,构建正常并且错误消失...我猜安装VS2012作为最后一个修复了VS110COMNTOOLS变量的问题,甚至我尝试重新安装所有的视觉工作室然后回滚到窗口我有10张照片。
我希望你能在你的机器上做类似的事情,尝试在Visual Studio安装之前恢复你的系统,然后安装你需要的视觉工作室,将VS2015作为最后一个。
答案 3 :(得分:0)
在我的情况下,问题是我的系统管理员完全禁用了我的电脑上的注册表编辑。
这导致命令行命令reg
无法运行,导致报告错误。
解决方案是启用注册表访问。
注意 - 这也导致regedit
被禁用,因此另一个答案中提到的手动修复对我来说是行不通的。