Ich habe eine benutzerdefinierte MSBuild- .targets
Datei erstellt, die ich über die IDE in ein Delphi XE-Projekt aufgenommen und über das Kontextmenü des Projektmanagers aktiviert habe. Obwohl die Datei validiert wird, wird sie immer deaktiviert, nachdem ich die Projektdatei erneut gespeichert habe.
Hier ist eine vereinfachte Version der Zieldatei mit dem Namen Custom.targets
.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello from custom target"/>
</Target>
</Project>
Als eigenständige Datei funktioniert dies wie erwartet: Tippen ...
MSBuild Custom.target /t:Hello
... in der Befehlszeile gibt die erwartete Nachricht.
Beim Hinzufügen Custom.targets
zu einem Delphi-Projekt über die IDE wird die Datei wie erwartet im Projektmanager angezeigt, und die .dproj
Datei enthält jetzt die Zeile ...
<TargetsFile Include="Custom.targets"/>
Ich habe mit der rechten Maustaste auf die Datei im Projektmanager der IDE geklickt und ausgewählt Enable
. Wenn das Projekt erstellt wird, wird das folgende Build
Meldungsfenster angezeigt:
[MSBuild-Warnung] Custom.targets (1): Deaktivierten Import ignorieren:
PathToProjectSource\\Custom.targets
Wenn Sie im Projektmanager erneut mit der rechten Maustaste klicken, wird weiterhin die Enable
Option anstelle der erwarteten angezeigt Disable
.
An der Kommandozeile MSBuild ProjectName.dproj /t:Hello
schlägt ebenfalls fehl.
Ich habe versucht, die .dproj
Datei zu hacken , um die Zeile hinzuzufügen ...
<Import Project="Custom.targets"/>
Das Tippen MSBuild ProjectName.dproj /t:Hello
funktioniert jetzt. Aber wenn ich das nächste Mal die Projektdatei aus der IDE speichere, wird die <Import>
Anweisung entfernt.
Hat jemand eine Idee, was bitte falsch läuft?
/t:Hello
sowie von der IDE mit Rechtsklick im Projektmanager - Ziele - Hallo. Ich habe Custom.targets
dem Projekt hinzugefügt , indem ich mit der rechten Maustaste in den Projektmanager - Hinzufügen - geklickt habe (nach der Datei gesucht). Der Pfad ist dasselbe Verzeichnis wie die .dproj-Datei.