Criei um .targets
arquivo MSBuild personalizado que incluímos em um projeto Delphi XE por meio do IDE e o habilitei no menu de contexto do gerente de projeto. Embora o arquivo valide, ele sempre será desativado depois que eu salvar novamente o arquivo do projeto.
Aqui está uma versão simplificada do arquivo de alvos, com o nome Custom.targets
.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello from custom target"/>
</Target>
</Project>
Como um arquivo autônomo, isso funciona conforme o esperado: digitando ...
MSBuild Custom.target /t:Hello
... na linha de comando, fornece a mensagem esperada.
Adicionar Custom.targets
um projeto Delphi via IDE exibe o arquivo no gerente de projeto conforme o esperado, e o .dproj
arquivo agora contém a linha ...
<TargetsFile Include="Custom.targets"/>
Clique com o botão direito do mouse no arquivo no Gerenciador de projetos do IDE e selecione Enable
. Mas quando o projeto é construído, a Build
janela de mensagem é exibida:
[MSBuild Warning] Custom.targets (1): Ignorando a importação desabilitada:
PathToProjectSource\\Custom.targets
Clicar com o botão direito do mouse novamente no Gerenciador de projetos ainda mostra a Enable
opção em vez da esperada Disable
.
Na linha de comando MSBuild ProjectName.dproj /t:Hello
também falha.
Eu tentei invadir o .dproj
arquivo para adicionar a linha ...
<Import Project="Custom.targets"/>
Digitar MSBuild ProjectName.dproj /t:Hello
agora funciona. Mas na próxima vez que eu salvar o arquivo do projeto no IDE, a <Import>
instrução será removida.
Alguém tem alguma idéia do que está errado, por favor?
/t:Hello
e do IDE com o botão direito do mouse em Gerente de Projeto - Destinos - Olá. Eu adicionei Custom.targets
ao projeto clicando com o botão direito no Project Manager - Add - (navegados para o arquivo). O caminho é o mesmo diretório que o arquivo .dproj.