.targets
IDE を介して Delphi XE プロジェクトに含めたカスタム MSBuild ファイルを作成し、プロジェクト マネージャのコンテキスト メニューから有効にしました。ファイルは検証されますが、プロジェクト ファイルを再保存すると、常に無効になります。
という名前のターゲット ファイルの簡略化されたバージョンを次に示しますCustom.targets
。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello from custom target"/>
</Target>
</Project>
スタンドアロン ファイルとして、これは期待どおりに機能します。
MSBuild Custom.target /t:Hello
...コマンドラインで、予想されるメッセージが表示されます。
Custom.targets
IDE 経由で Delphi プロジェクトに追加すると、プロジェクト マネージャにファイルが期待どおりに表示され、ファイルに.dproj
は次の行が含まれるようになりました...
<TargetsFile Include="Custom.targets"/>
IDE の Project Manager でファイルを右クリックし、Enable
. しかし、プロジェクトがビルドされると、Build
メッセージ ウィンドウが表示されます。
[MSBuild 警告] Custom.targets(1): 無効化されたインポートを無視します:
PathToProjectSource\\Custom.targets
Project Manager でもう一度右クリックするEnable
と、予期された ではなくオプションが表示されDisable
ます。
コマンドラインMSBuild ProjectName.dproj /t:Hello
でも失敗します。
.dproj
ファイルをハッキングして行を追加しようとしました...
<Import Project="Custom.targets"/>
タイピングMSBuild ProjectName.dproj /t:Hello
が機能するようになりました。しかし、次に IDE からプロジェクト ファイルを保存すると、<Import>
ステートメントが削除されます。
何がうまくいかないのか誰にも分かりますか?