2017-02-16 67 views
4

試圖爲開發者與產品獲取簡單的<appSettings>Web.config和Web.Release.config中的appSettings

Web.config

<appSettings> 
    <add key="hello" value="debug" /> 
</appSettings> 

Web.Release.config

<appSettings> 
    <add key="hello" value="prod" /> 
</appSettings> 

(均下<configuration>

當我在調試模式下,並運行我的MVC網站,我可以做我的HomeController.Index中有一個簡單的return Content(WebConfigurationManager.AppSettings["hello"]);,它返回dev。如果我將模式切換爲Release,它仍會返回dev。我想模擬產品模式,而不需要實際發佈到產品。

+0

沒有好辦法做到這一點,有一個非常強烈的論點,你真的不應該這樣做。最終,IIS只會查看名爲'web.config'的文件,因此您只能使用該文件。您可以預覽轉換後的文件並將其複製/粘貼,當然,在您測試完成後記得要將其復原。 – DavidG

回答

11

在構建特定的Web.config文件中,您必須告訴它如何轉換基礎.config文件。所以,做你問什麼,你Web.Release.config文件應該是這樣的:

<appSettings> 
    <add key="hello" value="prod" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" /> 
</appSettings> 

在上面的代碼中SetAttributes改造將改變包含值hellokey屬性相匹配的任何元素的屬性。

+0

這應該是被接受的答案。 – Nikkelmann

相關問題