Visual Studio 的生成事件 (vs2010,vs2012,vs2013,vs2015)

引言:

     在项目中,有一 些库(比如叫:XXX.dll)是通过反射实现动态加载的,调用程序并不一定引用了该库(xxx.dll),在调试的时候,也就每次在编译完成之后,手动将xxx.dll拷贝到调用的程序目录下。看起来就有点傻的操作,虽然知道可以通过生成事件中,写写脚本就能解决,每次还是先去看看电影听听歌去了,懒得写。某次实在忍不住,觉得做为一个写Code总是忍受反复出现的操作,简直说不过去。

 

案例:

      下面就以一个小例子,稍微演示一个小功能。

ConsoleService 为服务启动程序,调用BLL

Bll 调用DALFactory,返回IDAL 的接口对象。

DALFactory 负责根据配置,来确定调用的到底是 OracleDAL , SQLServerDal,SqlServerDapperDal  ,

Visual Studio 的生成事件 (vs2010,vs2012,vs2013,vs2015)_第1张图片

那么在编译 ConsoleService  ,Debug 目录下不会有 OracleDAL , SQLServerDal,SqlServerDapperDal  对应的dll 文件。

那就写一个编译事件吧…将OracleDAL , SQLServerDal,SqlServerDapperDal  生成时拷贝到 ConsoleService  的目录下。如果是Debug模式,则拷贝到ConsoleService  的Debug目录, 同样如果是Release,则拷贝到ConsoleService  的Release目录,

Visual Studio 的生成事件 (vs2010,vs2012,vs2013,vs2015)_第2张图片

 

输入:  copy $(TargetPath)    $(SolutionDir)ConsoleService\bin\$(ConfigurationName);

依次打开 : OracleDAL , SQLServerDal,SqlServerDapperDal 项目,加入这段话,就OK了。

 

也许,你会不放心,这些到底是啥意思啊…

没关系,你在点击”编辑后期生成事件”按钮后,弹出的”后期生成事件命令行”编辑器,点击”宏”,可以看看各个宏到底是指哪个路径…

Visual Studio 的生成事件 (vs2010,vs2012,vs2013,vs2015)_第3张图片

 

 

更多的功能自己去开拓发现。还有更好的应用请及时告知我。

 

其他的一些参考:

 

VS2012 生成事件 – stoneniqiu : http://www.tuicool.com/articles/fMZrmq

VS项目属性的一些配置项的总结(important)

以上两个都看看,东西不难。飘过一眼就会了。

你可能感兴趣的:(Visual Studio 的生成事件 (vs2010,vs2012,vs2013,vs2015))