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到另外一個目錄下。
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM