VS2012 生成事件


    在一個解決方案中有多個項目的時候,我們常需要拷貝一些文件,dll到指定的目錄下,或者遇到com組件還需要提前注冊dll,這個就需要用到VS的生成事件。

    一、位置: 項目-->右鍵-->屬性-->生成事件。

   

   預先生成事件就是在編譯之前我需要做的事情,后期生成事件就是編譯成功之后我要做的事情。

  

 二、地址: 我們看到這樣的命令:

copy "$(SolutionDir)Source\Framework\bin\Debug\Configuration\SCADAServer.config" "$(TargetDir)"

 意思是將前面目錄中的ScadaServer.config 文件Copy到 $(TargetDir) 目錄下。而$中的內容 就是定義好的宏,點開上圖中的宏字 就看到下圖中已經定義好的地址宏 

三、語法

  看到這個$ 符號想起很多

  還有Nlog中的配置,

 

 CCNet的配置。

Wix的配置:

放在一起看,不論是{}還是()都是表示地址的,當然這個和Jquery中$()區別還是蠻大。 扯遠了,再回到正題,這里執行的命令都是dos內部命令

ASSOC    顯示或修改文件擴展名關聯。
AT       計划在計算機上運行的命令和程序。
ATTRIB   顯示或更改文件屬性。
BREAK    設置或清除擴展式 CTRL+C 檢查。
CACLS    顯示或修改文件的訪問控制列表(ACLs)。
CALL     從另一個批處理程序調用這一個。
CD       顯示當前目錄的名稱或將其更改。
CHCP     顯示或設置活動代碼頁數。
CHDIR    顯示當前目錄的名稱或將其更改。
CHKDSK   檢查磁盤並顯示狀態報告。
CHKNTFS  顯示或修改啟動時間磁盤檢查。
CLS      清除屏幕。
CMD      打開另一個 Windows 命令解釋程序窗口。
COLOR    設置默認控制台前景和背景顏色。
COMP     比較兩個或兩套文件的內容。
COMPACT  顯示或更改 NTFS 分區上文件的壓縮。
CONVERT  將 FAT 卷轉換成 NTFS。您不能轉換
         當前驅動器。
COPY     將至少一個文件復制到另一個位置。
DATE     顯示或設置日期。
DEL      刪除至少一個文件。
DIR      顯示一個目錄中的文件和子目錄。
DISKCOMP 比較兩個軟盤的內容。
DISKCOPY 將一個軟盤的內容復制到另一個軟盤。
DOSKEY   編輯命令行、調用 Windows 命令並創建宏。
ECHO     顯示消息,或將命令回顯打開或關上。
ENDLOCAL 結束批文件中環境更改的本地化。
ERASE    刪除至少一個文件。
EXIT     退出 CMD.EXE 程序(命令解釋程序)。
FC       比較兩個或兩套文件,並顯示
         不同處。
FIND     在文件中搜索文字字符串。
FINDSTR  在文件中搜索字符串。
FOR      為一套文件中的每個文件運行一個指定的命令。
FORMAT   格式化磁盤,以便跟 Windows 使用。
FTYPE    顯示或修改用於文件擴展名關聯的文件類型。
GOTO     將 Windows 命令解釋程序指向批處理程序
         中某個標明的行。
GRAFTABL 啟用 Windows 來以圖像模式顯示
         擴展字符集。
HELP     提供 Windows 命令的幫助信息。
IF       執行批處理程序中的條件性處理。
LABEL    創建、更改或刪除磁盤的卷標。
MD       創建目錄。
MKDIR    創建目錄。
MODE     配置系統設備。
MORE     一次顯示一個結果屏幕。
MOVE     將文件從一個目錄移到另一個目錄。
PATH     顯示或設置可執行文件的搜索路徑。
PAUSE    暫停批文件的處理並顯示消息。
POPD     還原 PUSHD 保存的當前目錄的上一個值。
PRINT    打印文本文件。
PROMPT   更改 Windows 命令提示符。
PUSHD    保存當前目錄,然后對其進行更改。
RD       刪除目錄。
RECOVER  從有問題的磁盤恢復可讀信息。
REM      記錄批文件或 CONFIG.SYS 中的注釋。
REN      重命名文件。
RENAME   重命名文件。
REPLACE  替換文件。
RMDIR    刪除目錄。
SET      顯示、設置或刪除 Windows 環境變量。
SETLOCAL 開始批文件中環境更改的本地化。
SHIFT    更換批文件中可替換參數的位置。
SORT     對輸入進行分類。
START    啟動另一個窗口來運行指定的程序或命令。
SUBST    將路徑跟一個驅動器號關聯。
TIME     顯示或設置系統時間。
TITLE    設置 CMD.EXE 會話的窗口標題。
TREE     以圖形模式顯示驅動器或路徑的目錄結構。
TYPE     顯示文本文件的內容。
VER      顯示 Windows 版本。
VERIFY   告訴 Windows 是否驗證文件是否已正確
         寫入磁盤。
VOL      顯示磁盤卷標和序列號。
XCOPY    復制文件和目錄樹。
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