0

我有一个 VS2010 解决方案,里面有四个项目。

我有一个要运行的半复杂命令行,它使用 Visual Studio 构建事件宏。

此命令行当前适用于post-build每个项目 - 但是每个项目中的命令行都是相同的,我想尽量保持DRY

有没有办法消除这里的重复,以某种方式将我的命令行和宏设置为某处的任务,然后为每个项目调用该任务?

4

1 回答 1

0

我不知道是否存在任何方式来链接 post-build不同项目的事件,但如果你想获得相同的效果,你必须专注于让所有.csproj文件都具有相同的<PropertyGroup>标签,如下所示:

<PropertyGroup>
    <PostBuildEvent> YOUR COMMAND (With Macros or not) </PostBuildEvent>
</PropertyGroup>

因此,您可以构建一个小型应用程序,在每个.csproj文件中插入带有所需命令的标签。

希望有所帮助!

编辑:

另一种(几乎)可能性是开发自己的任务,继承自Task,然后根据需要编写Execute()方法,然后将.dll文件链接到.csproj

  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
于 2011-02-03T14:22:11.963 回答