所以今天我决定更新到Visual Studio 2015 (以前运行RC版本没有困难),但现在我的项目不喜欢largeaddressaware命令行事件。
我有一个构建后事件:
call "$(DevEnvDir)..\tools\vsvars32.bat"
editbin /largeaddressaware "$(TargetPath)"
然而,我得到了以下错误:
调用“
"C:\Program Files (x86)\Microsoft Visual Studio14.0\Common7\IDE..\tools\vsvars32.bat”editbin /largeaddressaware "C:...\bin\Debug\Application.exe"“命令退出,返回代码9009
有什么想法吗?
发布于 2015-07-23 16:44:20
该问题是在卸载Visual Studio 2015 RC版本时导致的。它不会删除所有目录,因此完整发行版本的安装不会成功。简单的解决方案是卸载RC版本并重新启动。然后手动删除C:\Program Files (x86)\Microsoft Visual Studio14.0目录。然后你就可以毫无问题地安装新版本了。
感谢Hans Passant发现了这个问题。
发布于 2015-07-23 00:06:36
我将cmd脚本称为PostBuildEvent:
IF EXIST "%VS140COMNTOOLS%" CALL "%VS140COMNTOOLS%vsvars32.bat"
IF EXIST "%VS120COMNTOOLS%" CALL "%VS120COMNTOOLS%vsvars32.bat"
IF EXIST "%VS110COMNTOOLS%" CALL "%VS110COMNTOOLS%vsvars32.bat"
IF EXIST "%VS100COMNTOOLS%" CALL "%VS100COMNTOOLS%vsvars32.bat"
editbin.exe /LARGEADDRESSAWARE MyApp.exe
它根据安装的VS检查环境变量(第一次是2015年,第二次是2013年,第二次是2012年,最后是2010年),现在所有路径都很好。
如果仍然找不到.exe,请确保选中安装程序中的C++ Tools选项。默认情况下,VS2015只安装C#和VB.net,而不安装C++及其工具。在这里你必须在设置中的自定义下激活它:
发布于 2016-01-21 01:04:57
如果您将您的平台设置为“任意CPU”,则在Visual Studio 2015中默认会为您设置此标志。
参见Compiling C# with Any CPU sets Application can handle large (>2GB) addresses。
https://stackoverflow.com/questions/31565532
复制相似问题