我有一个 VS2010 解决方案,里面有四个项目。
我有一个要运行的半复杂命令行,它使用 Visual Studio 构建事件宏。
此命令行当前适用于post-build
每个项目 - 但是每个项目中的命令行都是相同的,我想尽量保持DRY。
有没有办法消除这里的重复,以某种方式将我的命令行和宏设置为某处的任务,然后为每个项目调用该任务?
我有一个 VS2010 解决方案,里面有四个项目。
我有一个要运行的半复杂命令行,它使用 Visual Studio 构建事件宏。
此命令行当前适用于post-build
每个项目 - 但是每个项目中的命令行都是相同的,我想尽量保持DRY。
有没有办法消除这里的重复,以某种方式将我的命令行和宏设置为某处的任务,然后为每个项目调用该任务?
我不知道是否存在任何方式来链接 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>
-->