磨刀不誤砍柴工 VS生成事件

2021-09-22 20:33:30 字數 1662 閱讀 2600

原文:磨刀不誤砍柴工——vs生成事件

如果說磨刀不誤砍柴工,同樣用好visual studio,會大大增加咱.net程式猿效率。本文說的就是visual studio中的生成事件,在解決方案下右擊某個專案然後選擇 「屬性」 開啟視窗後即可看到 「生成事件」 選項,這個東西其實並不常用,甚至寫幾年**都不會碰它一次,但是我今天需要她了。

2014.10.23更新:記得使用的時候有些目錄可能無法寫入,以管理員身份執行visual studio,並確認寫入到的目錄的許可權問題。

但是我需要將多個專案生成的dll都拷貝到新的路徑下,這樣一來這個「[原始檔全路徑]」就顯得很麻煩,沒有體現復用性,有木有更好的辦法呢?

開啟生成事件中的巨集如下圖所示

可以看到有乙個列表(含有「巨集」和「值」列),而「巨集」下的「targetpath」對應的值就是當前專案生成的 dll/exe 檔案對應的物理路徑,雙擊該行,在上方的方框中就出現了「$(targetpath)」,好了不羅嗦了。

直接在每個專案的生成事件視窗中的「後期生成事件命令列」寫下「copy $(targetpath)e:\projects\mydemo\joeylibs\idletest\dlls」,並在下方的 「執行後期生成事件」 選擇 「成功生成時」 搞定。

這個功能我還用來幹一件事,就是當解決方案下又數十個專案時,我會在生成的最後乙個專案(一般是ui或者服務)用到,操作與上文類似,只是命令變成了:

@echo msgbox "

[$(projectname)]生成已完成!

">msg.vbs

@msg.vbs

@del msg.vbs

這樣在緩慢的專案生成過程中就可以1024,生成完成又可以馬上繼續coding。

*****===把某專案的dll複製當前專案的某目錄的所有子目錄中*****===

set my_target_path=$(targetdir)inte***ce\all\

set my_source_path=$(solutiondir)\myinte***ce\$(outdir)myinte***ce.dll

for /d %%i in (%my_target_path%*) do

( @echo msgbox

"%%i

">>msg.vbs

@msg.vbs

@del msg.vbs

copy %my_source_path% %%i

)

磨刀不誤砍柴工 VS生成事件

如果說磨刀不誤砍柴工,同樣用好visual studio,會大大增加咱.net程式猿效率。本文說的就是visual studio中的生成事件,在解決方案下右擊某個專案然後選擇 屬性 開啟視窗後即可看到 生成事件 選項,這個東西其實並不常用,甚至寫幾年 都不會碰它一次,但是我今天需要她了。2014.1...

磨刀不誤砍柴工

這是一句廣為流傳的俗語,表面意思就是磨刀並不會耽誤砍柴的時間,在軟體開發過程中,似乎也有同樣的情況出現。有的時候,專案為了趕進度,需要快速實現,於是我們就馬不停蹄的加班加點的去寫 了,其他周邊的功夫能少耽誤就少耽誤,但是是不是除了寫 其他什麼事情都可以省呢,舉自己切身遇到的2個例子。案例一 在實現過...

磨刀不誤砍柴工

再次驗證了磨刀不誤砍柴工,這次高體大作業,花了我乙個多星期,結果呢,卻是還是有問題,回過頭來再看書上分析,又懂了一點。歸根結底,是沒有做好準備工作,總覺得應該盡快編 這樣才能早點結束。學了物件導向分析與設計,發現這個確實很有用,而且了解到,在軟體開發中,寫 只是其中很小的一部分,前面還有很多準備工作...