Select web.config 或 app.config 基于机器名称的连接字符串
Select web.config or app.config Connection String based on Machine Name
这个问题与之前问的 Choose settings based on machine name 松散相关,但是我对它有更具体的用途,我希望默认情况下将其融入 .Net。
我是编写 DotNet 桌面和 Web 应用程序的小团队中的几个人之一。我们使用 git 作为源存储库,必须不断地为每个开发环境更改 .config 文件连接字符串变得很烦人。
我知道有几种方法可以解决这个问题;范围从首先不将 .config 文件存储在 repo 中(并使用 .gitignore),到编写代码来解析配置文件,手动添加前缀等,如另一个问题中所建议的。
然而,这似乎过于简单和乏味;在生产环境中,可能有很多 legitimate 原因在配置文件中存储多个连接字符串 - 例如有多个服务器 - 这让我认为必须有一种更简单的方法来做到这一点。
所以我的问题是:DotNet .config 文件中有没有一种方法可以让框架 'automatically' 知道要加载哪个连接字符串上一个属性,比如环境或者机器名?
为了清楚起见,有一个问题:config transforms 是否有不符合此要求的内容?根据构建配置管理器设置(环境)设置活动解决方案配置,并根据需要替换节点。我们一直为 Web、控制台和服务项目这样做。非常适合网络(内置)和其他(有一些小的 post 构建调整)。
这个问题与之前问的 Choose settings based on machine name 松散相关,但是我对它有更具体的用途,我希望默认情况下将其融入 .Net。
我是编写 DotNet 桌面和 Web 应用程序的小团队中的几个人之一。我们使用 git 作为源存储库,必须不断地为每个开发环境更改 .config 文件连接字符串变得很烦人。
我知道有几种方法可以解决这个问题;范围从首先不将 .config 文件存储在 repo 中(并使用 .gitignore),到编写代码来解析配置文件,手动添加前缀等,如另一个问题中所建议的。
然而,这似乎过于简单和乏味;在生产环境中,可能有很多 legitimate 原因在配置文件中存储多个连接字符串 - 例如有多个服务器 - 这让我认为必须有一种更简单的方法来做到这一点。
所以我的问题是:DotNet .config 文件中有没有一种方法可以让框架 'automatically' 知道要加载哪个连接字符串上一个属性,比如环境或者机器名?
为了清楚起见,有一个问题:config transforms 是否有不符合此要求的内容?根据构建配置管理器设置(环境)设置活动解决方案配置,并根据需要替换节点。我们一直为 Web、控制台和服务项目这样做。非常适合网络(内置)和其他(有一些小的 post 构建调整)。