.targetsIDE を介して 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.targetsIDE 経由で 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>ステートメントが削除されます。
何がうまくいかないのか誰にも分かりますか?