2013-03-29 26 views
0

我與同事一起處理ASP.NET MVC解決方案。每個人都在自己的電腦上工作。我的SQL Server Express實例被稱爲SQLEXPRESS,而他的實例是默認(本地)實例。當兩臺計算機上的SQL Server Express實例不同時,在連接字符串中定義數據源

web.config我的連接字符串是這樣的:

<add name="Prog.Models.BreezeContext" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Prog;Integrated Security=True"/> 

在這個時候,我的同事需要更改連接字符串這樣:

<add name="Prog.Models.BreezeContext" providerName="System.Data.SqlClient" connectionString="Data Source=(local);Initial Catalog=Prog;Integrated Security=True"/> 

你會發現在數據源的不同:.\SQLEXPRESS <>(local)

我的問題:我們如何才能繼續避免每次運行應用程序時更改連接字符串?我不想卸載/重新安裝我的SQL Server Express以擁有本地實例。我想知道是否有另一種選擇。

謝謝。

回答

1

您可以創建兩個特定於每臺計算機的配置文件,並使用預生成腳本來確定要使用哪一個。

例如你可以有兩個connectionstrings.config文件,connectionstrings.bronzato.config和connectionstrings.colleague.config,每個都有特定的環境設置。

在預生成腳本中,您可以查找機器名稱環境變量並通過connectionstrings.config複製您的文件。這樣你可以有多個配置文件,系統將根據環境使用正確的配置文件。

您也可以創建一個單獨的配置設置並使用它來確定在預生成腳本中使用哪個文件。

+0

這就是我要做的,你也可以添加一些代碼來改變使用的配置值,這取決於機器的名稱,而不是切換出整個文件。 – darin

相關問題