有没有办法将web.config的子集存储在Web应用程序之外的单独文件夹中?

时间:2018-04-01 20:23:10

标签: c# asp.net .net asp.net-web-api web-config

我使用简单的发布流程将我的Web API 2应用程序发布到不同的环境。不同环境应使用不同的数据库连接字符串我是否有一种创造性的方法可以在特定于环境的配置文件中拆分某些Web.config信息?例如,是否可以将这样的connectionStrings属性分解为不会被覆盖的外部文件?:

<connectionStrings>
    <add name="MyAppDBConnString" connectionString="X />
</connectionStrings>

此外,是否可以将其存储在Web应用程序之外,以便基本的&#34;发布所有&#34;来自源代码不会覆盖破坏的配置文件?即,我可以将这个Web.config子集文件存储在主Web目录之外的随机文件目录中,该目录包含Web应用程序的所有文件吗?

1 个答案:

答案 0 :(得分:1)

您可以使用XML转换在发布时修改web.config。

在Visual Studio中,您可以创建新的构建配置,然后右键单击web.config文件,并选择创建新的转换。

然后,您应该能够在解决方案资源管理器中展开web.config,并且您将看到每个发布配置文件的不同配置,名为Web.ProfileName.config

如果您需要有关XML转换语法的入门知识,请转到here。您可能希望在connectStrings元素上使用replace。

之后,您应该在发布时看到更改。