3

我正在尝试以编程方式将以下目标添加到我的 Visual Studio 项目文件中。

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

我很确定这IVsBuildPropertyStorageIVsBuildPropertyStorage2不会工作,因为需要一个 ProjectItem 又名来自<ItemGroup>项目文件中元素的节点。我想做的是在<ItemGroup>元素之外添加上面的xml。

我正在尝试使用 Visual Studio SDK 来执行此操作,并且似乎缺少有关执行此操作的文档和示例。截至这篇文章的时间,我无法找到这样做的方法。我真的很想避免将项目文件(在本例中为 Test.csproj)加载为 anXDocument或 anXmlDocument并以这种方式添加 Target 元素节点。它看起来很混乱,可能会导致更多问题。

作为额外的奖励,我还想 IgnoreOnExit 单个PostBuildEvent元素,但我很确定PostBuildEvent元素不可能做到这一点

4

1 回答 1

2

尝试对命名空间中的ProjectRootElement类使用AddTarget方法。该命名空间用于读取和写入 MSBuild 文件。Microsoft.Build.Construction

于 2010-12-22T16:56:56.200 回答