在我们的构建过程中,对于每个项目,我们使用Post Build事件将可执行文件复制到单独的部署目录中.这只是很好用,但问题是我们在执行Clean Solution/Clean Project后遇到了陈旧文件的问题.我想设置一个删除复制文件的"清理"事件,Visual Studio 2008似乎没有在项目属性页面中提供选项.
它有:
Build Events: Pre-Build Event Pre-Link Event Post-Build Event Custom Build Step General
我想要找到的是在清理项目时执行任意命令行的一些方法.
您可以在csproj文件中使用MSBuild目标语法.例如
有一种简洁的方法可以直接在MSBuild团队博客中描述的Visual Studio IDE中编辑.csproj文件,但这是我的第一篇文章,因此我只能包含一个超链接.(简单地说:卸载项目,然后右键单击它以查看条目"Edit [project] .csproj"...您的csproj将作为xml文件出现在IDE中,其中包含元素和属性的intellisense.太棒了!)
完整的自定义目标列表如下:http://blogs.msdn.com/b/msbuild/archive/2005/11/23/496396.aspx
对于Visual C++项目,您需要将文件添加到"常规"项目配置属性下的"要清除时删除的扩展"部分.虽然它声称需要扩展,但它实际上使用了globs并且很乐意接受完整路径并扩展MSBuild变量.这对我有用:
$(ProjectDir)\deployment\*.*
我不确定你是否可以通过这种方式删除目录,但它至少可以获取文件.