我有一个VS2010解决方案,里面有四个项目。
我有一个半复杂的命令行,我想运行它使用Visual Studio构建事件宏。
此命令行当前位于每个项目的post-build
事件中 - 但是每个项目中的命令行都相同,我想尝试保留DRY。
有没有办法在这里消除重复,以某种方式设置我的命令行,使用宏,作为某个任务,只为每个项目调用该任务?
答案 0 :(得分:0)
我不知道是否存在任何方式来链接不同项目的post-build
事件,但如果你想获得相同的效果,你必须专注于拥有相同.csproj
个文件<PropertyGroup>
1}}标签,像这样:
<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>
-->