我有一個C#web項目。我打開配置管理器,對於「Active solution configuration」,我選擇了Visual Studio 2013使用錯誤的配置文件
在新窗口中,我鍵入了名稱(Dev),並沒有複製任何設置。我檢查了「創建新的項目配置」。
我右鍵單擊我的Web.config並選擇「添加配置變換」。按照預期,Web.Dev.config顯示在web.config下縮進。
我的web.config中包含錯誤的數據庫值:
<connectionStrings>
<add name="PdxContext" connectionString="Data Source=badServer; Initial Catalog=badDB; Integrated Security=true; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
我Web.Dev.config,部分地包含有效的DB值:
<connectionStrings>
<add name="PdxContext" connectionString="Data Source=.\sql2012; Initial Catalog=test; Integrated Security=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
...但是當我選擇開發配置和命中運行,站點使用web.config文件運行,而不是web.dev.config(它試圖連接到主機「badServer」上名爲「badDB」的不存在的數據庫)。
如果我右鍵單擊web.dev.config並選擇「預覽轉換」,則轉換後的Web.config會正確顯示它將使用web.dev.config中的connectionStrings值。
哦,並且在用於「Dev」的Active Solution Configuration的配置管理器中,配置列具有「Dev」。
有什麼想法?
我也有內置調試配置完全相同的問題。它忽略了Web.Debug.config中的值 –
我想也許它只在部署時才起作用。但是,那麼多個開發人員如何在同一個項目上工作,但使用不同的配置如何協同工作呢?我想他們必須擁有自己的web.config副本,並在每次執行更改web.config的SVN更新時用他們的副本覆蓋web.config?這看起來很笨拙。 –