我一直在使用 Delphi XE 和 MSBuild 构建项目,使用以下简单示例,该示例在批处理文件中运行良好。 Project1 是使用“文件 | 创建的空项目”新 | IDE 中的 VCL 表单应用程序:
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 路径不正确。
关于delphi - 如何使用 MSBuild 和 Delphi XE2 进行构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8068481/