我一直在使用下面的简单示例(在批处理文件中可以正常工作)使用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路径不正确。

10-06 05:16