磨刀不误砍柴工——VS生成事件
如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率。本文说的就是Visual Studio中的生成事件,在解决方案下右击某个项目然后选择 “属性” 打开窗口后即可看到 “生成事件” 选项,这个东西其实并不常用,甚至写几年代码都不会碰它一次,但是我今天需要她了。
2014.10.23更新:记得使用的时候有些目录可能无法写入,以管理员身份运行Visual Studio,并确认写入到的目录的权限问题。
我有一个解决方案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。
关于生成事件目前我只用到这两点,如果你有更好的使用场景不妨分享下。
磨刀不误砍柴工——VS生成事件的更多相关文章
- 如何使用Unix/Linux grep命令——磨刀不误砍柴工系列
http://man.linuxde.net/grep ---------------------------------------------------- 如何使用Unix/Linux gre ...
- 磨刀不误砍柴工!vs2010快捷键大全
最常用的快捷键: VS2012变化的快捷键: 注释::VS2010是(Ctrl+E,C),VS2012是(Ctrl+K, Ctrl+C),实际操作,按住Ctrl键不放,先按K键,再按C键.相当于Ctr ...
- 磨刀不误砍柴工,使用visual studio之前应该先了解这些...
注:以下的快捷键在vs2010中测试无误. 众所周知,vs是一个非常强大的开发平台,但是又有多少小伙伴熟悉以下这些快捷键呢? 当然,不知道这些快捷键与开发并没有直接关系,不过,就我而言,以下这些快捷键 ...
- 磨刀不误砍柴工——统一日志系统 Log4Net/ExceptionLess
本文版权归博客园和作者吴双本人共同所有,转载和爬虫必须注明原文地址:www.cnblogs.com/tdws . 一. 写在前面 本文Log4Net介绍了基础的方式,大数据量生产环境不能使用,中等 ...
- MT【133】磨刀不误砍柴工
(2018,4月学考数学填空最后一题) \(f(x)=2x^2-(x-a)|x-a|-2 \ge 0\)对任意\(x\in R\)恒成立,求\(a\)的范围______ 提示:\(f(0)=a|a|- ...
- 【Five-Minute Share】“请先了解所使用的工具 ,磨刀不误砍柴工”
数据是应用系统的血液,没有数据的系统应用价值是非常有限的.经过多年的观察发现,身边很多的程序开发人员在开发应用系统的时候,都是按照标准SQL语法及应用方法去进行数据库设计,并进行应用开发的,没有任何的 ...
- VS生成事件
源自:http://www.cnblogs.com/FreeDong/p/3406737.html 如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率.本文说的就 ...
- Visual Studio 生成事件命令
Visual Studio在生成项目工程前后,有时我们需要做一些特殊的操作,比如:拷贝生成的dll到指定目标下面等. 结合VS可以添加预先生成事件和后期生成事件,采用命令或bat批处理. 1.Visu ...
- VS 生成事件
转载自: http://hi.baidu.com/gisince/item/7f0439ee610c94255a2d64b4 今天写了生成事件的处理,如下: 从网上Down了一个例子,运行时提示错误 ...
随机推荐
- 录像时调用MediaRecorder的start()时发生start failed: -19错误
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- 学习笔记 :DrawText
最近在做一个TStringGrid的自绘处理,在画文字处理上遇到了高度的计算问题.后来经过一段时间还是找到了一些方法: 1.使用TLabel 这个方法是有点绕路的,方法倒是简单,就是使用AutoSiz ...
- CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...
- 在 Linux 打造属于自己的 Vim
Linux 系统中很多东西都是以脚本代码.配置文件的形式存在,使用 Linux 系统时,需经常对这些文件进行编辑.很显然,如果没有文本编辑器,江湖之路寸步难行. 我的选择是 Vim.Vim 是 Lin ...
- HBase笔记:对HBase原理的简单理解
早些时候学习hadoop的技术,我一直对里面两项技术倍感困惑,一个是zookeeper,一个就是Hbase了.现在有机会专职做大数据相关的项目,终于看到了HBase实战的项目,也因此有机会搞懂Hbas ...
- js文章列表的树形结构输出
文章表设计成这样了 后端直接给了无任何处理的json数据,现在要前端实现树形结构的输出,其实后端处理更简单写,不过既然来了就码出来 var doclist = [{ "id": 1 ...
- Java学习笔记(05)
目录: static的用法 主函数的定义 增强for的循环 单例设计模式 封装 一.Static的用法 1.对象的内存分析 对象的引用变量是存在于栈区,而在堆区开辟了一块内存空间,调用对象给成员变量赋 ...
- 解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器
企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件 ...
- url 编码(percentcode 百分号编码)(转载)
原文地址:http://www.cnblogs.com/leaven/archive/2012/07/12/2588746.html http://www.imkevinyang.com/2009 ...
- SharePoint 2013 Create taxonomy field
创建taxonomy field之前我们首先来学习一下如果创建termSet,原因是我们所创建的taxonomy field需要关联到termSet. 简单介绍一下Taxonomy Term Stor ...