VS2010工程屬性——生成後事件

生成事件

copy "$(TargetPath)" "%EEEEPath%\bin\Coordinator\"  // 將目標exe或dll拷貝到目標路徑下
copy "$(TargetPath)" "$(SolutionDir)\..\..\Assembly\"

copy /V "$(TargetDir)$(TargetName).dll" "..\..\..\..\Bin\" 
if Exist $(TargetDir)$(TargetName).pdb copy /V "$(TargetDir)$(TargetName).pdb" "..\..\..\..\Bin\"
if Exist $(TargetDir)$(TargetName).xml copy /V "$(TargetDir)$(TargetName).xml" "..\..\..\..\Bin\"
以上實現在編譯生成後將程序集文件拷貝至指定目錄,這裏爲根目錄下的一個bin文件夾下

把生成的dll,lib分別拷貝到指定的目錄下面:
set MY_TARGET_PATH=..\..\bin
copy /y $(TargetPath) %MY_TARGET_PATH%
copy /y $(TargetDir)$(TargetName).pdb %MY_TARGET_PATH%
set MY_TARGET_PATH=..\Lib
copy /y $(TargetDir)$(TargetName).lib %MY_TARGET_PATH%

在VS的項目屬性“生成事件”標籤頁中有“生成後事件命令行”,可在這裏輸入比如:
copy $(TargetDir) "C:\Program Files\MailSetup"
這樣編譯成功後會將生成的文件拷貝到C:\Program Files\MailSetup
這裏有兩點注意:
1、目標路徑要用雙引號括起來
2、使用了宏的源不需要,比如可以寫成$(TargetDir)*.exe
3、如果項目無任何改動,“生成”是不會編譯的,所以當運行生成後事件選中“生成更新項目輸出時”,不會被執行,但“重新生成”會無條件的輸出,並觸發事件


發佈了2 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章