Visual Studio 预先/后期 生成事件

发现一个好玩的东西,Visual Studio的预先生成事件和后期生成事件,不知道大家用过没。反正我是第一次用,还是在写上一篇文章的时候,感觉一个个去处理一些资源文件很费事,应该会有简单的办法来解决这个问题,然后就开始研究一下项目属性,当看到生成事件的时候,总觉得这个东西可以帮我搞定,就去百度了下,嘿,确实不错。.

我想要做的就是把以下文件夹中的内容在我生成的时候放到输出目录中去,为什么不直接放入到输出目录?因为只有需要的资源都包含在项目中,才可以在以后看起来更直观而且不会遗漏。

Visual Studio 预先/后期 生成事件

我一开始是想直接把文件夹设置成可以复制到输出目录,很可惜文件夹不支持。然后想着一个个设置吧,虽然有点烦,最起码能完成需求,但是结果差强人意啊,复制的时候连带文件夹一起复制出来了,这样的话就会报错找不到资源,因为引用的DLL只会寻找当前目录的资源。

最后就是用了以下方法,一句命令即可完成复制。

Visual Studio 预先/后期 生成事件

实现代码:

copy "$(ProjectDir)\lib\*.dll" "$(TargetDir)"

这里甚至可以执行批处理文件等完成更为复杂的操作。其他的使用方法大家有需要可以自行去查一下,这里就不详细写了(写了也是复制下来的,没意思)。

但其实不查文档也可以直接用一些简单的,如下图所示,点击<宏>按钮,会直接显示各个宏代表的意义,双击即可直接输入到命令框。

Visual Studio 预先/后期 生成事件