Я строил проекты, используя 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, и он работает нормально, как предложено Дэвидом ниже.Фактически проблема заключалась в содержимом файла RSVARS.BAT, в котором не был указан правильный путь BDS.