2011-11-09 34 views
34

He estado creando proyectos usando Delphi XE y MSBuild usando el siguiente ejemplo simple que funciona bien en un archivo por lotes. Project1 es un proyecto vacío creado con 'Archivo | Nuevo | VCL forma de aplicación en el IDE:Cómo compilar usando MSBuild y Delphi XE2

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 he creado un nuevo proyecto vacío en Delphi XE2, guárdelo como project1.dproj (el dproj es muy diferente de XE) y ejecute los siguientes:

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 

da:

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 

he intentado varios nombres de destino, incluyendo cosas que encuentro en Codegear.Delphi.Targets pero no sé wnough sobre MSBuild. ¿Alguien puede ayudar con lo que debería poner, por favor?

RESOLUCIÓN POSTERIOR: Esto se intentó en otra PC con XE2 y funciona bien como sugiere David a continuación. De hecho, el problema era el contenido del archivo RSVARS.BAT que no especificaba correctamente la ruta BDS.

+2

¿Está esta línea en su archivo dproj? : Su comando msbuild.exe es está bien y está bien aquí. –

+2

Así es como lo hago. Algo pasa con su instalación. Necesitas hablar con Emba. –

+0

@Arjen: Sí, lo tengo en el archivo dproj. –

Respuesta

5

Como informa el OP, el problema era una ruta BDS incorrecta en el archivo RSVARS.bat.

Cuestiones relacionadas