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中的生成事件的主要内容,如果未能解决你的问题,请参考以下文章

VS Code配置snippets代码片段快速生成html模板,提高前端编写效率

VS中的生成事件

VS Code中自定义Emmet代码片段

vs-code 配置

VS2015开发常用快捷键

vs写c#时,自动根据控件生成的代码不小心被删除了,窗口设计还在,如何重新自动生成?