Ho creato un file MSBuild .targets
personalizzato che ho incluso in un progetto Delphi XE tramite l'IDE e abilitato dal menu di scelta rapida del Project Manager. Sebbene il file venga convalidato, viene sempre disabilitato dopo aver salvato nuovamente il file di progetto.Delphi XE target di build personalizzato è sempre disabilitato
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 stand-alone funziona come previsto: scrivendo ...
MSBuild Custom.target /t:Hello
... nella riga di comando dà il messaggio previsto.
Aggiunta Custom.targets
a un progetto Delphi tramite l'IDE visualizza il file nel Project Manager come previsto, e il file .dproj
ora contiene la linea ...
<TargetsFile Include="Custom.targets"/>
right-clic sul file nel IDE Project Manager e selezionato Enable
. Ma quando il progetto è costruito viene visualizzata la finestra Build
messaggio:
[MSBuild Attenzione] Custom.targets (1): Ignorando import disabilitato:
PathToProjectSource\\Custom.targets
destro cliccando nuovamente in Project Manager mostra ancora il L'opzione Enable
invece del previsto Disable
.
Alla riga comandi MSBuild ProjectName.dproj /t:Hello
non riesce.
Ho provato l'hacking il file .dproj
aggiungere la riga ...
<Import Project="Custom.targets"/>
Digitando MSBuild ProjectName.dproj /t:Hello
ora funziona. Ma la prossima volta che salverò il file di progetto dall'IDE, verrà rimossa l'istruzione <Import>
.
Qualcuno ha idea di cosa sta andando storto, per favore?
Nel tuo esempio di utilizzo msbuild dalla linea di comando si mostra _Custom.target_ mentre in tutto il mondo altrimenti usi _Custom.targets_. Cos'è questo? –
Buon posto - non me ne ero accorto nonostante stavo guardando il codice. Non riesco ad arrivare a una macchina con Delphi per alcuni giorni (in ospedale!), Ma cercherò il codice usando "target" o "target" coerentemente quando posso. – delphidabbler
Non un utente Delphi, ma secondo [questo] (http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/targetsfiles_xml.html) _Tutti i file .targets devono contenere script MSBuild validi privo di errori.Se il file presenta errori, si viene avvisati e, se il progetto fa riferimento al file .targets non valido, viene disabilitato e non può essere riattivato fino a quando gli errori non vengono corretti. Potrebbe essere utile ricontrollare tutto è corretto in quanto ciò spiega sintomi che stai ricevendo. –