2013-05-17 19 views
1

我將SlowCheetah作爲TeamCity構建過程的一部分來轉換app.config文件。在Visual Studio中運行非Web應用程序時是否可以禁用SlowCheetah轉換

我知道,在web應用程序的情況下,在本地Visual Studio調試器中運行應用程序不會轉換相關的web.config。我推測這種行爲對於app.config文件是一樣的,但我今天才發現,當我從本地VS 2012運行控制檯或Windows服務應用程序時(例如在調試器中),app.config被轉換。

有沒有辦法來防止在調試器中運行非WAP項目時發生app.config變換?

回答

3

有一個簡單的方法來做到這一點。

在編輯器中打開項目的csproj文件(例如Windows Service項目)(可以在VS解決方案資源管理器中右鍵單擊|卸載項目,然後單擊「編輯項目文件」以編輯Visual Studio中的文件內容)。

查找包含以下行:

<Import Project="$(SlowCheetahTargets)" Condition="Exists('$(SlowCheetahTargets)')" Label="SlowCheetah" /> 

,並按如下修改:

<Import Project="$(SlowCheetahTargets)" Condition="Exists('$(SlowCheetahTargets)')and '$(IsDesktopBuild)' == 'false'" Label="SlowCheetah" /> 

這將禁用當你在本地機器上的變換,但他們將繼續被轉化在生成服務器。

+0

爲什麼我不會有那條線? – NullVoxPopuli

+1

@NullVoxPopuli我不知道我理解你的問題。如果你問爲什麼你沒有SlowSheetahTargets行(上面的第一行代碼行),那麼這是因爲你沒有引用SlowCheetah。 – Redeemed1

+0

這正是我所要求的。謝謝! :-) – NullVoxPopuli

相關問題