7

我们有一个开发数据库和一个生产数据库。我试图阻止的是必须改变:

connectionString="Data Source=server;Initial Catalog=test;
connectionString="Data Source=server;Initial Catalog=live;

我们有两个地方部署站点。一种用于测试,一种用于直播。

有没有一种简单的方法可以防止我们每次想要上传测试或直播时都必须更改连接字符串?

我们使用团队基础服务器,我不知道如何设置构建服务器或构建定义,因此如果有任何东西,请寻找简单的东西。

4

3 回答 3

6

如果您正在开发一个 ASP.NET 应用程序,您可以使用web.config转换轻松地指定每个环境之间的不同之处。构建过程将为web.config您所针对的任何环境生成一个合适的。

如果您正在构建桌面应用程序,我会研究Slow Cheetah,它允许您web.config在任何您喜欢的 xml 文件上使用相同的转换功能,包括app.config. 我们已经在我公司的许多项目中使用它来简化我们各种环境之间的部署过程。

于 2013-07-29T16:55:25.903 回答
3

您可以使用web.config.release提及您的发布模式配置。这些是部分VS2010及以上。Scott Hanselman article 你可以在这里很好地了解一下。

这里需要注意的一点是,从调试到发布的转换将发生在任何时候publish your web site before deploying

于 2013-07-29T16:55:40.557 回答
1

查找设置持续集成构建的好教程。较新版本的 TFS 处理得非常好。

有很多东西需要处理,但值得付出努力。尝试 MSDN 文章,选择所有默认选项,它不会那么糟糕。

启动并运行 CI,您将知道如何处理这些 web.config 转换(这将解决您当前的问题)。但是通过设置构建的过程,您会发现部署非常容易。

于 2013-07-29T17:22:18.063 回答