磨刀不误砍柴工——VS生成事件_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 磨刀不误砍柴工——VS生成事件

磨刀不误砍柴工——VS生成事件

 2013/11/5 22:41:51  alert(dong)  博客园  我要评论(0)
  • 摘要:如果说磨刀不误砍柴工,同样用好VisualStudio,会大大增加咱.NET程序猿效率。本文说的就是VisualStudio中的生成事件,在解决方案下右击某个项目然后选择“属性”打开窗口后即可看到“生成事件”选项,这个东西其实并不常用,甚至写几年代码都不会碰它一次,但是我今天需要她了。我有一个解决方案IdleTest,还有另一个解决方案下的项目需用到IdleTest最新的dll,而原IdleTest下生成的dll由于还有其他项目也在用
  • 标签:事件

  如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率。本文说的就是Visual Studio中的生成事件,在解决方案下右击某个项目然后选择 “属性” 打开窗口后即可看到 “生成事件” 选项,这个东西其实并不常用,甚至写几年代码都不会碰它一次,但是我今天需要她了。
class="code_img_opened" src="/Upload/Images/2013110522/D9EBC8E497CFB899.png" alt="" width="900" />

  我有一个解决方案IdleTest,还有另一个解决方案下的项目需用到IdleTest最新的dll,而原IdleTest下生成的dll由于还有其他项目也在用,故需要将IdleTest解决方案的几个项目生成的dll拷贝到一个新的目录。但是每次修改声称拷贝很麻烦,于是乎就想到了生成事件,百度说生成事件里的命令行是支持dos命令的,我就尝试了在后期生成事件命令行中输入 “copy [源文件全路径] 拷贝到的路径”,果然奏效。
  但是我需要将多个项目生成的dll都拷贝到新的路径下,这样一来这个“[源文件全路径]”就显得很麻烦,没有体现复用性,有木有更好的办法呢?
打开生成事件中的宏如下图所示


  可以看到有一个列表(含有“宏”和“值”列),而“宏”下的“TargetPath”对应的值就是当前项目生成的 dll/exe 文件对应的物理路径,双击该行,在上方的方框中就出现了“$(TargetPath)”,好了不罗嗦了。
  直接在每个项目的生成事件窗口中的“后期生成事件命令行”写下“copy $(TargetPath) E:\projects\MyDemo\JoeyLibs\IdleTest\dlls”,并在下方的 “运行后期生成事件” 选择 “成功生成时” 搞定。

这个功能我还用来干一件事,就是当解决方案下又数十个项目时,我会在生成的最后一个项目(一般是UI或者服务)用到,操作与上文类似,只是命令变成了:

@echo msgbox "[$(ProjectName)]生成已完成!">msg.vbs 
@msg.vbs
@del msg.vbs

 

这样在缓慢的项目生成过程中就可以1024,生成完成又可以马上继续coding。

关于生成事件目前我只用到这两点,如果你有更好的使用场景不妨分享下。

上一篇: Twitter曾拒Facebook收购要约 下一篇: 没有下一篇了!
发表评论
用户名: 匿名