2013-03-29 25 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

相关问题