2010-12-22 15 views
3

Visual Studio Projectファイルに次のターゲットをプログラムで追加しようとしています。プログラムでVisual Studioプロジェクトファイルのターゲットを追加および編集する

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

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

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

私はまた、単一PostBuildEvent要素をIgnoreOnExitしたいと思いますが、私は、これはPostBuildEvent要素では不可能であることをかなり確信している

答えて

2

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

+0

それはありがとう! –

関連する問題