Ho creato un .targets
file 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.targets
a un progetto Delphi tramite l'IDE visualizza il file nel Project Manager come previsto, e il .dproj
file 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 Build
visualizzata 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' Enable
opzione anziché quella prevista Disable
.
Anche alla riga di comando MSBuild ProjectName.dproj /t:Hello
fallisce.
Ho provato a hackerare il .dproj
file per aggiungere la linea ...
<Import Project="Custom.targets"/>
La digitazione MSBuild ProjectName.dproj /t:Hello
ora 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:Hello
e dall'IDE con il tasto destro del mouse in Project Manager - Target - Hello. Ho aggiunto Custom.targets
al progetto facendo clic con il tasto destro nel Project Manager - Aggiungi - (ha cercato il file). Il percorso è la stessa directory del file .dproj.