首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >开发与生产:连接字符串

开发与生产:连接字符串
EN

Stack Overflow用户
提问于 2019-04-15 23:44:37
回答 2查看 0关注 0票数 0

我正在将SQL服务器移动到一台单独的机器上。目前我们在同一个盒子上运行我们的Web服务器和SQL Server。因此,我们有一个带有IIS和SQLServer的生产服务器,然后是一个独立的开发服务器,可以反映这种设置。

当谈到我们的asp.net控件的app.config和web站点的web.config时,这很有效,因为我们可以使用“Initial Catalog = MyDB; ...”并且它起作用,因为两台机器上的DB名称相同。

现在我正在考虑在同一个盒子上运行两个DB(MyDB,MyDB-Dev)。有没有一种简单的方法可以在每次部署或编译时都不需要编辑web.config和app.config?这是Visual Source Safe可以处理的吗?

EN

回答 2

Stack Overflow用户

发布于 2019-04-16 08:41:06

部署web.config几乎不会将文件从dev复制到prod。拥有不同的条目是正常的,例如您的开发网站指向本地数据库或开发人员数据库框,您的产品网站通常必须指向您的产品数据库框。

部署时,如果您在应用中进行了需要新配置元素的架构更改,或者想要删除多余的配置元素,则通常只需要更改生产web.config。

使用源代码控制,通常的做法是排除web.config并拥有一个模板文件,该文件可用作创建配置文件的基础,例如web.config.template。在对web.config进行结构更改时,您应该对web.config.template进行更改,然后为dev和prod创建它的副本,并相应地应用dev和prod设置。

票数 0
EN

Stack Overflow用户

发布于 2019-04-16 08:50:21

我使用NAnt来构建和部署。我使用.config.template命名约定将.config文件转换为模板。我有一个名为“environment”的NAnt属性,我从命令行调用到NAnt设置。在我的build.xml的顶部,我根据“environment”属性(如switch语句)设置了“db.connectionstring”属性。在构建任务中,我使用grep将“db.connectionstring”字符串推送到构建目录输出的模板中的位置。那样,我只需要打电话:

代码语言:javascript
复制
nant -D:environment=dev

这将获得一组特定于dev的.config文件。

如果您不喜欢grep,请按照以下步骤操作:

http://www.haidongji.com/2008/11/11/use-nant-to-replace-values-in-other-xml-config-files/

这仅适用于XML文件。Grep更通用。实际上我根据部署环境有不同的数据库名称,grep允许我根据环境将不同的数据库名称插入到SQL脚本中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档