Creé un .targets
archivo MSBuild personalizado que incluí en un proyecto Delphi XE a través del IDE y lo habilité desde el menú contextual del Administrador de proyectos. Aunque el archivo se valida, siempre se desactiva después de volver a guardar el archivo del proyecto.
Aquí hay una versión simplificada del archivo de objetivos, llamada Custom.targets
.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello from custom target"/>
</Target>
</Project>
Como archivo independiente, esto funciona como se esperaba: escribiendo ...
MSBuild Custom.target /t:Hello
... en la línea de comando da el mensaje esperado.
Agregar Custom.targets
a un proyecto de Delphi a través del IDE muestra el archivo en el Administrador de proyectos como se esperaba, y el .dproj
archivo ahora contiene la línea ...
<TargetsFile Include="Custom.targets"/>
Hice clic derecho en el archivo en el Administrador de proyectos del IDE y seleccioné Enable
. Pero cuando se construye el proyecto, aparece la Build
ventana de mensaje:
[Advertencia de MSBuild] Custom.targets (1): Ignorando la importación deshabilitada:
PathToProjectSource\\Custom.targets
Hacer clic con el botón derecho nuevamente en Project Manager aún muestra la Enable
opción en lugar de la esperadaDisable
.
En la línea de comando MSBuild ProjectName.dproj /t:Hello
también falla.
He intentado hackear el .dproj
archivo para agregar la línea ...
<Import Project="Custom.targets"/>
Escribir MSBuild ProjectName.dproj /t:Hello
ahora funciona. Pero la próxima vez que guarde el archivo de proyecto del IDE, el<Import>
declaración se elimina.
Alguien tiene alguna idea de lo que va mal, por favor?
/t:Hello
el IDE con un clic derecho en el Administrador de proyectos - Objetivos - Hola. He agregado Custom.targets
al proyecto haciendo clic derecho en el Administrador de proyectos - Agregar - (buscó el archivo). La ruta es el mismo directorio que el archivo .dproj.