我一直在使用Delphi XE和MSBuild构建项目,使用以下简单的示例,在批处理文件中工作正常。 Project1是使用“File |”创建的空项目新| VCL在IDE中形成应用程序:
call "c:\Program Files (x86)\Embarcadero\RAD Studio\8.0\bin\rsvars.bat" msbuild.exe /target:Build /p:config=Release "c:\scratch\test\project1.dproj" pause
如果我在Delphi XE2中创建了一个新的空项目,将其保存为project1.dproj(dproj与XE非常不同),并运行以下命令:
call "c:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin\rsvars.bat" msbuild.exe /target:Build /p:config=Release "c:\scratch\test\project1.dproj" pause
它给:
Build Failed. "c:\scratch\test\project7.dproj" (Build target) (1) -> c:\scratch\test\project7.dproj : error MSB4057: The target "Build" does not e xist in the project. 0 Warning(s) 1 Error(s) Time Elapsed 00:00:00.00
我尝试了各种目标名称,包括我在Codegear.Delphi.Targets中找到的东西,但我不知道MSBuild的wnough。任何人可以帮助我应该放什么?
后来决议:这是在另一台与XE2的电脑上试过,它的工作正常如大卫下面建议。事实上,问题是没有正确指定BDS路径的RSVARS.BAT文件的内容。