項目文件Web.config保存了各類配置信息,一般咱們在<appSettings>標籤下添加<add key="" value="">用於程序中讀取這些配置信息,如AppKey、SecretKey和遠程服務器地址等。服務器
通常狀況下,咱們開發調試的時候用一套配置,發佈的時候又要用到另外一套環境,或者還有預發佈環境,甚至更多其餘的環境配置。那麼,怎麼快速切換這些環境配置呢?app
方法一:spa
展開Web.config,下面有兩個默認的配置文件,固然也能夠本身再添加一些其餘的配置。發佈時選擇某一套配置,會自動經過key值匹配,替換掉Web.config中的key值的value,具體替換語法再也不贅述,參見官方文檔: http://go.microsoft.com/fwlin...
缺點:只在發佈時比較方便。當生產環境出現bug時,須要將生產環境配置替換到本地程序中並調試,這時只能手動替換環境配置。調試
方法二:
直接將appSettings的配置文件剝離出Web.config文件,寫入到新建的Dev.config文件中(.xml格式一樣支持)code
<configuration> <appSettings configSource="config\Dev.config" /> </configuration>
在Dev.config中,寫法也很簡單:xml
<?xml version="1.0" encoding="utf-8" ?> <appSettings> <add key="AppKey" value="DEV@2018"/> <add key="AppSecret" value="volh332ldifjsk2"/> </appSettings>
缺點:在多套配置文件中可能存在相同的key值,一旦改動,須要在每一個配置文件中都改一下。blog
方法三:
這實際上是方法二的升級版,寫法以下:ip
<configuration> <appSettings file="config/Dev.config"> <add key="AppID" value="APPID@2018DEV"> </appSettings> </configuration>
Dev.config的寫法同方法二。
優勢:在方法二的基礎上,進一步提取出公共的key值,修改時只需在Web.config中修改一次便可。utf-8
總結:三個方法也是我依次走過的路,在嘗試方法二的時候,mac版的VisualStudio中,使用congfigSource的同時也能夠像方法三同樣寫法,可是搬到Windows平臺上時就會報錯,因此才另作嘗試有了方法三。開發