Utworzyłem niestandardowy .targets
plik MSBuild , który umieściłem w projekcie Delphi XE za pośrednictwem IDE i włączyłem go z menu kontekstowego Project Manager. Chociaż plik jest weryfikowany, zawsze zostaje wyłączony po ponownym zapisaniu pliku projektu.
Oto uproszczona wersja pliku docelowego o nazwie Custom.targets
.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello from custom target"/>
</Target>
</Project>
Jako samodzielny plik działa to zgodnie z oczekiwaniami: wpisywanie ...
MSBuild Custom.target /t:Hello
... w wierszu poleceń wyświetla oczekiwany komunikat.
Dodanie Custom.targets
do projektu Delphi za pośrednictwem IDE wyświetla plik w Menedżerze projektu zgodnie z oczekiwaniami, a .dproj
plik zawiera teraz wiersz ...
<TargetsFile Include="Custom.targets"/>
Kliknąłem plik prawym przyciskiem myszy w menedżerze projektów IDE i wybrałem Enable
. Ale kiedy projekt jest budowany, Build
okno komunikatu wyświetla:
[Ostrzeżenie programu MSBuild] Custom.targets (1): Ignorowanie wyłączonego importu:
PathToProjectSource\\Custom.targets
Ponowne kliknięcie prawym przyciskiem myszy w Menedżerze projektów nadal pokazuje Enable
opcję zamiast oczekiwanej Disable
.
W linii poleceń MSBuild ProjectName.dproj /t:Hello
również nie działa.
Próbowałem zhakować .dproj
plik, aby dodać wiersz ...
<Import Project="Custom.targets"/>
MSBuild ProjectName.dproj /t:Hello
Teraz pisanie działa. Ale następnym razem, gdy zapiszę plik projektu z IDE, <Import>
instrukcja zostanie usunięta.
Czy ktoś ma pojęcie, co się dzieje, proszę?
/t:Hello
jak i ze środowiska IDE za pomocą prawego przycisku myszy w Project Manager - Targets - Hello. Dodałem Custom.targets
do projektu, klikając prawym przyciskiem myszy w Menedżerze Projektu - Dodaj - (przeglądając plik). Ścieżka jest tym samym katalogiem, co plik .dproj.