簡體   English   中英

在Visual Studio 2013中發布具有代碼1錯誤的事件生成退出

[英]Post event build exit with code 1 error in Visual studio 2013

這是腳本:

copy /y "$(SolutionDir)Libs\Detect.dll" "$(SolutionDir)$(ConfigurationName)"
call editbin.exe /LARGEADDRESSAWARE SER.EXE > post.txt
call dumpbin.exe /HEADERS SER.EXE > post1.txt

錯誤是

錯誤306命令“復制/ y“ C:\\ dev \\ blah \\ Libs \\ Detect.dll”“ C:\\ dev \\ blah \\ Debug”調用editbin.exe / LARGEADDRESSAWARE SER.EXE> post.txt調用dumpbin.exe / HEADERS SER.EXE> post1.txt“退出,代碼為1。

在Visual Studio 2013中發布具有代碼1錯誤的事件生成退出

僅需要確認一件事:該SER.EXE僅在發布模式下執行,還是該SER.EXE在發布文件夾中存在,應該在調試和發布模式下執行?

如果僅在發行版中執行此SER.EXE ,則應考慮Lex的建議。 構建前和構建后事件作為批處理腳本運行。 您可以在$(ConfigurationName)上執行條件語句。 例如:

copy /y "$(SolutionDir)Libs\Detect.dll" "$(SolutionDir)$(ConfigurationName)"
if $(ConfigurationName) == Release call editbin.exe /LARGEADDRESSAWARE "SER.EXE"> post.txt
if $(ConfigurationName) == Release call dumpbin.exe /HEADERS SER.EXE > post1.txt

如果此SER.EXE存在於發行文件夾中,並且應在調試和發行模式下執行,則只需在命令中指定發行文件夾:

 call editbin.exe /LARGEADDRESSAWARE "Release\SER.EXE"> post.txt
 call dumpbin.exe /HEADERS "Release\SER.EXE"> post1.txt

顯然,您還需要確保可以執行SER.EXE ,可以在控制台應用程序項目中使用以下命令進行測試:

call editbin.exe /LARGEADDRESSAWARE "$(TargetPath)"> post.txt

注意:如果要在調試和發布模式下都使用此生成后事件,則應為所有配置添加命令行,否則此命令將僅在一種模式下起作用(僅提醒):

在此處輸入圖片說明

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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