构建事件错误(LARGEADDRESSAWARE)和(VS120COMNTOOLS,Xcopy)

时间:2016-03-21 13:47:37

标签: .net visual-studio visual-studio-2013 post-build-event

我正在使用VS2013(c#项目),而在Post Build Event我有以下命令

Xcopy "$(SolutionDir)Lib" "$(SolutionDir)Exe_path\Lib\" /s /e /y
call "$(VS120COMNTOOLS)..\tools\vsvars32.bat"
editbin /largeaddressaware "$(TargetPath)"

一切运行良好,然后我重新启动我的电脑(通过一些与Windows政策相关的修改,例如禁用编辑与我的项目无关的注册表中的某些值)。

重新启动PC后,我尝试编译应用程序,但是我遇到了两个错误:

错误1:

Cannot determine the location of the VS Common Tools folder.

第二个是:

The command "call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\..\tools\vsvars32.bat"
editbin /largeaddressaware "my_exe_path"" exited with code 9009

我知道Error Code 9009表示找不到错误文件,但vsvars32.bat存在,路径正确,所有其他路径都正确,我的意思是$(SolutionDir)Lib和{{ 1}}是正确和存在的。

我尝试了here的一些解决方案,如:

$(SolutionDir)Exe_path\Lib\

但是我得到完全相同的错误信息。

此外,我尝试编写Xcode的完整路径,如

call "$(DevEnvDir)..\Tools\vsvars32.bat"

同样的错误。

我还会检查环境路径中的c:\windows\system32\xcopy.exe "$(SolutionDir)Lib" "$(SolutionDir)\ExepathLib\" /s /e /y call "$(VS120COMNTOOLS)..\tools\vsvars32.bat" editbin /largeaddressaware "$(TargetPath)" ,并根据一些建议的解决方案here包含PATH

最有可能的是,当应用新的Windows策略时,它会影响reg,但我不确定这是否正确。

导致此问题发生的最可能原因是什么,以及解决问题的建议是什么。

修改

我尝试打开C:\WINDOWS\system32;并显示错误消息,它是相同的错误消息

VS2012 x64 Native Tools Command Prompt

所以我检查了ERROR: Cannot determine the location of the VS Common Tools folder. 并且它包含

vcvars32.bat

这意味着,如果它找不到@if "%VS120COMNTOOLS%"=="" goto error_no_VS120COMNTOOLSDIR 环境变量,那么它将转到VS120COMNTOOLS

error_no_VS120COMNTOOLSDIR

所以我认为这很可能是因为win策略系统阻止在环境变量中编辑@echo ERROR: Cannot determine the location of the VS Common Tools folder. 值。

0 个答案:

没有答案