2013-08-22 38 views
4

我有一個測試和生產web服務器。我的項目在測試服務器上有一段代碼,但不在生產服務器上。基於Web發佈配置文件的c#預處理器指令

#if (DEBUG)不起作用,因爲我更喜歡在RELEASE模式下發布。

有沒有什麼辦法根據哪個Web Publish配置文件被使用來設置預處理器指令?

+0

VS2010?從VS2012開始,發佈配置文件允許您指定相應的構建配置。這完成了避免你想解決的問題,是一個更好的方法。 http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx –

回答

3

完成此操作的最簡單方法是爲每個需要發佈到的環境創建單獨的構建配置。您可以從Release中克隆新的構建配置。然後,在項目設置中,在條件編譯符號框中輸入構建配置的名稱。

例如,我們有一個Stage構建配置,除了定義STAGE編譯器常量外,它與Release相同。然後,在代碼中,您可以使用#if(STAGE)檢查。