如何只爲調試版本運行Visual Studio生成後事件

如何將構建後事件限制爲僅針對一種構建類型運行? 我正在使用事件將DLL複製到本地IIS虛擬目錄,但我不但願在發佈模式下的生成服務器上發生這種狀況。 服務器


#1樓

或者(因爲將事件放入批處理文件中而後調用),請使用如下命令。 (在「生成事件」框中,而不是在批處理文件中): 編輯器

if $(ConfigurationName) == Debug goto :debug

:release
signtool.exe ....
xcopy ...

goto :exit

:debug
' debug items in here

:exit

這樣,您能夠對任何配置都具備事件,而且仍然能夠使用宏對其進行管理,而沒必要將其傳遞到批處理文件中,而且請記住%1是$(OutputPath)等: ide


#2樓

在VS 2012中,您必須使用(我也認爲在VS 2010中) ui

if $(Configuration) == Debug xcopy

$(ConfigurationName)被列爲宏,但未分配。 spa

在此處輸入圖片說明

比較: http : //msdn.microsoft.com/en-us/library/c02as0cs(v=vs.110).aspx 命令行


#3樓

您能夠將配置名稱傳遞給生成後腳本,而後在其中檢查它是否應該運行。 debug

用$(ConfigurationName)傳遞配置名稱 code

根據您如何執行構建後步驟進行檢查-這將是一個命令行參數 xml


#4樓

像日常同樣添加您的發佈活動。 而後保存您的項目,在記事本(或您喜歡的編輯器)中將其打開,並將條件添加到PostBuildEvent屬性組中。 這是一個例子: 事件

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <PostBuildEvent>start gpedit</PostBuildEvent>
</PropertyGroup>

#5樓

構建前和構建後事件做爲批處理腳本運行。 您能夠在$(ConfigurationName)上執行條件語句。

例如

if $(ConfigurationName) == Debug xcopy something somewhere
相關文章
相關標籤/搜索