VS生成事件
2013-11-06 10:30
211 查看
VS生成事件
如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率。本文说的就是Visual Studio中的生成事件,在解决方案下右击某个项目然后选择 “属性” 打开窗口后即可看到 “生成事件” 选项,这个东西其实并不常用,甚至写几年代码都不会碰它一次,但是我今天需要她了。我有一个解决方案IdleTest,还有另一个解决方案下的项目需用到IdleTest最新的dll,而原IdleTest下生成的dll由于还有其他项目也在用,故需要将IdleTest解决方案的几个项目生成的dll拷贝到一个新的目录。但是每次修改声称拷贝很麻烦,于是乎就想到了生成事件,百度说生成事件里的命令行是支持dos命令的,我就尝试了在后期生成事件命令行中输入 “copy [源文件全路径] 拷贝到的路径”,果然奏效。
但是我需要将多个项目生成的dll都拷贝到新的路径下,这样一来这个“[源文件全路径]”就显得很麻烦,没有体现复用性,有木有更好的办法呢?
打开生成事件中的宏如下图所示
![](http://images.cnitblog.com/blog/132575/201311/04155651-0ed318f0844e4d32a6986ad321793bc1.png)
![](http://images.cnitblog.com/blog/132575/201311/04155709-ee90183d5cde4f088b1c9d7615a2554d.png)
可以看到有一个列表(含有“宏”和“值”列),而“宏”下的“TargetPath”对应的值就是当前项目生成的 dll/exe 文件对应的物理路径,双击该行,在上方的方框中就出现了“$(TargetPath)”,好了不罗嗦了。
直接在每个项目的生成事件窗口中的“后期生成事件命令行”写下“copy $(TargetPath) E:\projects\MyDemo\JoeyLibs\IdleTest\dlls”,并在下方的 “运行后期生成事件” 选择 “成功生成时” 搞定。
![](http://images.cnitblog.com/blog/132575/201311/04155821-640cda5371b2417f89e6df568ae95a3c.png)
这个功能我还用来干一件事,就是当解决方案下又数十个项目时,我会在生成的最后一个项目(一般是UI或者服务)用到,操作与上文类似,只是命令变成了:
@echo msgbox "[$(ProjectName)]生成已完成!">msg.vbs @msg.vbs @del msg.vbs
这样在缓慢的项目生成过程中就可以1024,生成完成又可以马上继续coding。
![](http://images.cnitblog.com/blog/132575/201311/05153613-1322601e6c324c8eba8432ccd9d3c78f.jpg)
关于生成事件目前我只用到这两点,如果你有更好的使用场景不妨分享下。
相关文章推荐
- vs.net生成后事件
- vs生成后事件复制文件
- VS中“生成事件”的问题
- Resharp警告(去掉VS自动生成事件函数的警告)
- 使用VS的生成事件命令行指令将生成的exe,dll文件复制到指定文件夹中
- VS"后生成事件" 菜单的使用
- Silverlight开发小技巧之三:巧用VS生成事件打包XAP
- vs 生成后事件 写法
- vs.net生成后事件
- vs2012 后期生成事件命令报错 9009
- VS生成事件的使用
- VS C++ 2005的预生成事件及设置
- C# VS预生成事件命令行 和 生成后事件命令行
- VS预生成事件命令行和生成后事件命令行(转载) 注释生成
- vs 2008中 1>Project : error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行预生成事件..."
- VS C++ 2005的预生成事件及设置
- vs生成事件 xcopy
- 磨刀不误砍柴工——VS生成事件
- VS生成事件
- vs生成事件 xcopy