Ho creato un .targetsfile MSBuild personalizzato che ho incluso in un progetto Delphi XE tramite l'IDE e l'ho abilitato dal menu di scelta rapida del Project Manager. Sebbene il file venga convalidato, viene sempre disabilitato dopo il salvataggio del file di progetto.
Ecco una versione semplificata del file target, denominata Custom.targets.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello from custom target"/>
</Target>
</Project>
Come file autonomo funziona come previsto: digitando ...
MSBuild Custom.target /t:Hello
... dalla riga di comando fornisce il messaggio previsto.
L'aggiunta Custom.targetsa un progetto Delphi tramite l'IDE visualizza il file nel Project Manager come previsto, e il .dprojfile ora contiene la riga ...
<TargetsFile Include="Custom.targets"/>
Ho fatto clic con il pulsante destro del mouse sul file nel Project Manager dell'IDE e ho selezionato Enable. Ma quando il progetto viene creato, viene Buildvisualizzata la finestra del messaggio:
[MSBuild Warning] Custom.targets (1): Ignorare l'importazione disabilitata:
PathToProjectSource\\Custom.targets
Facendo nuovamente clic con il pulsante destro del mouse in Project Manager, viene comunque visualizzata l' Enableopzione anziché quella prevista Disable.
Anche alla riga di comando MSBuild ProjectName.dproj /t:Hellofallisce.
Ho provato a hackerare il .dprojfile per aggiungere la linea ...
<Import Project="Custom.targets"/>
La digitazione MSBuild ProjectName.dproj /t:Helloora funziona. Ma la prossima volta che salverò il file di progetto dall'IDE l' <Import>istruzione viene rimossa.
Qualcuno ha idea di cosa non va, per favore?
/t:Helloe dall'IDE con il tasto destro del mouse in Project Manager - Target - Hello. Ho aggiunto Custom.targetsal progetto facendo clic con il tasto destro nel Project Manager - Aggiungi - (ha cercato il file). Il percorso è la stessa directory del file .dproj.