私はMSBuildの初心者です。これまでのところ、渡されたコンテンツ プロパティに基づいて C:\ にテキスト ファイルを作成する「MakeTextFile」というカスタム タスクを作成できました。これは、コマンド ライン プロンプトから実行して動作します。
これも .targets ファイル (プロジェクト タグの下) に含めました。
<ItemGroup>
<AvailableItemName Include="CreateTextFileAction" />
</ItemGroup>
クライアント アプリケーション .csproj で Import タグを使用すると、アイテム ビルド アクションを「CreateTextFileAction」に設定できるようになりましたが、アクションはトリガーされません (C:\ にテキスト ファイルが作成されないため)。
ビルド アクション 'CreateTextFileAction' でマークされたアイテムのすべてのファイル パスを取得し、それらをカスタム タスクに渡すにはどうすればよいですか?
参考までに、私の .targets ファイル:
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<AvailableItemName Include="CreateTextFileAction" />
</ItemGroup>
<UsingTask AssemblyFile="CustomMSBuildTask.dll" TaskName="CustomMSBuildTask.MakeTextFile" />
<Target Name="MyTarget">
<MakeTextFile Contents="TODO HOW DO I GRAB MARKED FILES?" />
</Target>
</Project>