簡體   English   中英

LargeAddressAware Visual Studio 2015 C#

[英]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中為您設置。

請參閱使用任何CPU集編譯C#應用程序可以處理大(> 2GB)地址

卸載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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM