J'ai construit des projets à l'aide de Delphi XE et de MSBuild en utilisant l'exemple simple suivant qui fonctionne bien dans un fichier batch. Project1 est un projet vide créé à l'aide de l'application 'File | New | VCL forms' dans l'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
Si je crée un nouveau projet vide dans Delphi XE2, que je l'enregistre sous le nom de project1.dproj (le dproj est TRÈS différent de celui de XE) et que j'exécute ce qui suit :
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
Il donne :
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
J'ai essayé plusieurs noms de cibles, y compris des choses que je trouve dans Codegear.Delphi.Targets mais je ne connais pas assez MSBuild. Quelqu'un peut-il m'aider à savoir ce que je dois mettre, s'il vous plaît ?
RÉSOLUTION ADDITE : Ceci a été essayé sur un autre PC avec XE2 et cela fonctionne bien comme suggéré par David ci-dessous. En fait, le problème venait du contenu du fichier RSVARS.BAT qui ne spécifiait pas correctement le chemin du BDS.