![](/img/trans.png)
[英]Visual Studio 2015 CTP - Android ant.bat build error MSB3073
[英]Execute bat file in the build event got the error “error MSB3073: The command ”call “MyTest.bat” exited with code 1."
在我們的解決方案中,我們有150多個項目,我需要先構建一個項目,但我不想一一設置100多個項目的項目參考或項目依賴項。 這是浪費時間。 因此,在此之前我要提出以下問題:
正如@Leo Liu建議我可以先使用批處理文件來構建項目一樣,這應該是一個有效的解決方法。 作為優化,我想在該項目的build事件中設置此bat文件,以便只構建該項目,而無需從外部手動運行bat文件。
但是,當我使用以下build事件構建該項目時:
call "$(ProjectDir)\MyTest.bat"
我收到此錯誤:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin\Microsoft.Common.CurrentVersion.targets(5074,5): error MSB3073: The command "call "C:\Users\Myname\Source\repos\MysolutionName\GenerateFile\MyTest.bat"" exited with code 1. [C:\Users\\Source\repos\MysolutionName\GenerateFile\GenerateFile.csproj]
更新:bat文件中的腳本為:
@echo OFF
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
echo "Starting Build for all Projects with proposed changes"
MSBuild.exe "C:\Users\MyName\Source\repos\MySolutionName\MySolutionName.sln"
pause
echo "All builds completed."
有什么建議嗎? 提前致謝。
在生成事件中執行bat文件得到錯誤“錯誤MSB3073:命令” call“ MyTest.bat”以代碼1退出。”
根據您的問題,我創建了一個測試樣本,並收到30多個錯誤,但沒有其他詳細信息:
error MSB3073: The command "call "D:\TestSample.bat"" exited with code 1.
進一步的研究發現了這些錯誤的原因,因為在bat文件中構建了解決方案,然后在解決方案中一個項目的構建事件(在bat文件中調用)中設置了該bat文件。
因此將生成一個無限循環 ,這就是為什么在build事件中一個命令行出現30多個錯誤的原因。
要解決此問題,在使用bat文件構建解決方案時,我們不應該構建指定項目,因此可以打開配置管理器,取消選中生成項目的構建復選框:
使用此設置,當您使用該bat文件構建解決方案時,將忽略此項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.