3

次のターゲットをプログラムでVisualStudioプロジェクトファイルに追加しようとしています。

<Target Name="PostBuildEvent" Condition="'$(PostBuildEvent)'!=''" DependsOnTargets="$(PostBuildEventDependsOn)">
      <Exec WorkingDirectory="$(OutDir)" Command="$(PostBuildEvent)" IgnoreExitCode="true" />
</Target>

ProjectItemはプロジェクトファイルの要素からのノードとも呼ばれるため、動作するかどうIVsBuildPropertyStorageかはかなり確信しています。私がやりたいのは、要素の外に上記のxmlを追加することです。IVsBuildPropertyStorage2<ItemGroup><ItemGroup>

Visual Studio SDKを使用してこれを実行しようとしていますが、これを正確に実行するためのドキュメントと例が不足しているようです。この投稿の時点で、私はこれを行う方法を見つけることができません。プロジェクトファイル(この場合はTest.csproj)をまたはとしてロードしてターゲット要素ノードをそのように追加することは避けたいと思います。それは厄介なようで、より多くの問題を引き起こす可能性があります。XDocumentXmlDocument

追加のボーナスとして、単一の要素をIgnoreOnExitしたいのですが、これは要素PostBuildEventでは不可能であると確信しています。PostBuildEvent

4

1 に答える 1

2

名前空間のProjectRootElementクラスでAddTargetメソッドを使用してみてください。その名前空間は、MSBuildファイルの読み取りと書き込みに使用されます。Microsoft.Build.Construction

于 2010-12-22T16:56:56.200 に答える