我一直在使用下面的简单示例(在批处理文件中可以正常工作)使用Delphi XE和MSBuild构建项目。 Project1是一个空项目,使用“文件|新增| 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。任何人都可以帮我请问一下吗?
以后的解决方案:这是在另一台装有XE2的PC上尝试的,它可以正常工作,如下面的David所建议。实际上,问题出在RSVARS.BAT文件的内容中,该文件未正确指定BDS路径。
最佳答案
如OP所报告,问题是RSVARS.bat文件中的BDS路径不正确。