VS中的生成事件
Posted 真心面对
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS中的生成事件相关的知识,希望对你有一定的参考价值。
1:为什么需要使用生成事件?
在实际开发过程中,一个公共使用的类库,在项目生成DLL后需要被复制到不同的目录下被引用,是不是觉得每次生成之后都需要人工复制是很麻烦的一件事情
我们可以利用VS中的项目生成事件属性来进行生成后的DLL复制到指定的目录,或者进去其他的操作,比如打包成.zip的压缩包
2:怎么使用?
一、位置: 项目-->右键-->属性-->生成事件。
预先生成事件就是在编译之前我需要做的事情,后期生成事件就是编译成功之后我要做的事情。
二、地址: 我们看到这样的命令:
copy "$(SolutionDir)Source\\Framework\\bin\\Debug\\Configuration\\SCADAServer.config" "$(TargetDir)"
意思是将前面目录中的ScadaServer.config 文件Copy到 $(TargetDir) 目录下。而$中的内容 就是定义好的宏,点开上图中的宏字 就看到下图中已经定义好的地址宏
三、语法
看到这个$ 符号想起很多
还有Nlog中的配置,
CCNet的配置。
Wix的配置:
放在一起看,不论是{}还是()都是表示地址的,当然这个和Jquery中$()区别还是蛮大。 扯远了,再回到正题,这里执行的命令都是dos内部命令
View Code
比如:
if not exist "$(TargetDir)Audiosource" md "$(TargetDir)AudioSource" // 如果不存在AudioSource目录 就创建改目录
copy "$(SolutionDir)Source\\Model\\AlarmHandle\\Audio\\ALARM1.WAV" "$(projectDir)$(OutDir)\\AudioSource\\ALARM1.WAV //然后将WAV文件copy到 这个目录下(要包含文件名)。
....
call "C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\VC\\vcvarsall.bat" // 还可以调用bat文件。
xcopy /s /y "$(SolutionDir)packages\\Microsoft.SqlServer.Compact.4.0.8876.1\\NativeBinaries\\amd64\\*.*" "$(TargetDir)amd64"// xcopy 将目录下非空的目录和子目录都copy到另外一个目录下。
以上是关于VS中的生成事件的主要内容,如果未能解决你的问题,请参考以下文章