[英]LargeAddressAware Visual Studio 2015 C#
所以今天我決定更新到Visual Studio 2015(以前運行RC版本沒有任何困難),但現在我的項目不喜歡largeaddressaware命令行事件。
我有一個后期構建事件:
call "$(DevEnvDir)..\tools\vsvars32.bat"
editbin /largeaddressaware "$(TargetPath)"
但是我收到以下錯誤:
命令“call”C:\\ Program Files(x86)\\ Microsoft Visual Studio 14.0 \\ Common7 \\ IDE .. \\ tools \\ vsvars32.bat“editbin / largeaddressaware”C:\\ ... \\ bin \\ Debug \\ Application.exe“ “退出代碼9009
有什么想法嗎?
我將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 ++及其工具。 在這里你必須在設置中的自定義下激活它:
如果將平台設置為“任何CPU”,則默認情況下,此標志現在在Visual Studio 2015中為您設置。
卸載Visual Studio 2015 RC版本時會導致此問題。 它不會刪除所有目錄,因此完整版本的安裝不成功。 簡單的解決方案是卸載RC版本並重新啟動。 然后手動刪除C:\\ Program Files(x86)\\ Microsoft Visual Studio 14.0目錄。 然后您可以安裝新版本而不會出現任何問題。
感謝Hans Passant確定此問題。
我的問題是,我vcvarsall.bat
錯誤的位置調用vcvarsall.bat
。 我已升級到Visual Studio 2017,並且vcvarsall.bat
已移動。 (所以有了EditBin.exe
。它現在有4個位置,雖然我改為使用路徑中的任何內容。)修復它,解決了問題。 這是我的構建文件,適用於您的權限。
:: Install C++ tools to have these installed
:: build for 32 bit
:: VS 2012 call "$(DevEnvDir)..\..\vc\vcvarsall.bat" x86
:: build for 64
:: VS 2012 call "$(DevEnvDir)..\..\vc\vcvarsall.bat" amd64
:: VS 2017
call "$(DevEnvDir)..\..\VC\Auxiliary\Build\vcvarsall.bat" amd64
:: "$(DevEnvDir)..\..\vc\bin\EditBin.exe" "$(TargetPath)" /LARGEADDRESSAWARE
EditBin "$(TargetPath)" /LARGEADDRESSAWARE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.