VS生成事件
源自:http://www.cnblogs.com/FreeDong/p/3406737.html
如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率。本文说的就是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生成事件的更多相关文章
- 磨刀不误砍柴工——VS生成事件
如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率.本文说的就是Visual Studio中的生成事件,在解决方案下右击某个项目然后选择 “属性” 打开窗口后即可 ...
- Visual Studio 生成事件命令
Visual Studio在生成项目工程前后,有时我们需要做一些特殊的操作,比如:拷贝生成的dll到指定目标下面等. 结合VS可以添加预先生成事件和后期生成事件,采用命令或bat批处理. 1.Visu ...
- VS 生成事件
转载自: http://hi.baidu.com/gisince/item/7f0439ee610c94255a2d64b4 今天写了生成事件的处理,如下: 从网上Down了一个例子,运行时提示错误 ...
- VS2012 生成事件
在一个解决方案中有多个项目的时候,我们常需要拷贝一些文件,dll到指定的目录下,或者遇到com组件还需要提前注册dll,这个就需要用到VS的生成事件. 一.位置: 项目-->右键-->属性 ...
- 项目属性-->生成事件-->后期生成事件命令行
以开源记牌器https://github.com/Epix37/Hearthstone-Deck-Tracker 为例,Hearthstone Deck Tracker项目中的后期生成事件命令行: i ...
- VS中的预先生成事件和后期生成事件
原文:VS中的预先生成事件和后期生成事件 在C#开发中,有时候需要在程序编译之前或之后做一些操作. 要达到这个目的,可以使用Visual Studio中的预先生成事件和后期生成事件. 下图是一个简单例 ...
- VS2010-使用“预先生成事件命令行”和“后期生成事件命令行”功能
原文:VS2010-使用"预先生成事件命令行"和"后期生成事件命令行"功能 xcopy /r /y $(TargetPath) $(ProjectDir)..\ ...
- Visual Studio 中指定自定义生成事件
自定义生成事件打开方式 通过指定自定义生成事件,可以在生成开始之前或在它完成之后自动运行命令.在Visual Studio中通过右键项目->属性 进入项目属性菜单. 自定义生成事件的语法 生成事 ...
- 使用VS的生成事件命令行指令将生成的exe,dll文件复制到指定文件夹中
VS预生成事件命令行 和 生成后事件命令行 宏说明 $(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir) ...
随机推荐
- 161208、Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...
- cpu进程调度---RT Throttling【转】
转自:http://book.2cto.com/201302/16291.html RT Throttling是对分配给实时进程的CPU时间进行限制的功能.使用实时调度策略的进程由于bug等出现不可控 ...
- 5.1JavaScript精华
9.使用Promises Promises,是Javascript表现item的一种方式.它执行异步工作,在未来的某个时间点完成.遇到最多的promises,是使用Ajax请求.浏览器在后台发起HTT ...
- Serialize Documents with the C# Driver
1.介绍 该文档是1.8版本的C#驱动. 本节教程讨论C#类和BSON文档之间的序列化和反序列化.序列化是将对象映射成一个可以存储在MongoDB中的BSON文档的过程,反序列化是从一个BSON文档重 ...
- mysql 利用binlog增量备份,还原实例
mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量 ...
- Docker CPU 资源限制——CPU分片功能测试
之前的一篇随笔——Docker CPU 资源限制 中介绍了针对COU的某个或某几个核的控制,今天介绍下CPU分片功能,即CPU占比. 测试步骤 1.下载CPU测试image.agileek/cpuse ...
- OS开发拓展篇—应用之间的跳转和数据传
iOS开发拓展篇-应用之间的跳转和数据传 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够 ...
- Greenplum failed segment的恢复方法
[前记] Segment检测及故障切换机制GP Master首先会检测Primary状态,如果Primary不可连通,那么将会检测Mirror状态,Primary/Mirror状态总共有4种:1. P ...
- Objective之ARC
http://blog.csdn.net/siemenliu/article/details/7891345
- 《将博客搬至CSDN》的文章,
<将博客搬至CSDN>的文章,并将文章地址填写在上方的"搬家通知博文地址"中.)