如何將構建後事件限制爲僅針對一種構建類型運行? 我正在使用事件將DLL複製到本地IIS虛擬目錄,但我不但願在發佈模式下的生成服務器上發生這種狀況。 服務器
或者(因爲將事件放入批處理文件中而後調用),請使用如下命令。 (在「生成事件」框中,而不是在批處理文件中): 編輯器
if $(ConfigurationName) == Debug goto :debug :release signtool.exe .... xcopy ... goto :exit :debug ' debug items in here :exit
這樣,您能夠對任何配置都具備事件,而且仍然能夠使用宏對其進行管理,而沒必要將其傳遞到批處理文件中,而且請記住%1是$(OutputPath)等: ide
在VS 2012中,您必須使用(我也認爲在VS 2010中) ui
if $(Configuration) == Debug xcopy
$(ConfigurationName)被列爲宏,但未分配。 spa
比較: http : //msdn.microsoft.com/en-us/library/c02as0cs(v=vs.110).aspx 命令行
您能夠將配置名稱傳遞給生成後腳本,而後在其中檢查它是否應該運行。 debug
用$(ConfigurationName)傳遞配置名稱 code
根據您如何執行構建後步驟進行檢查-這將是一個命令行參數 xml
像日常同樣添加您的發佈活動。 而後保存您的項目,在記事本(或您喜歡的編輯器)中將其打開,並將條件添加到PostBuildEvent屬性組中。 這是一個例子: 事件
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <PostBuildEvent>start gpedit</PostBuildEvent> </PropertyGroup>
構建前和構建後事件做爲批處理腳本運行。 您能夠在$(ConfigurationName)
上執行條件語句。
例如
if $(ConfigurationName) == Debug xcopy something somewhere