【问题标题】:is there a way to store subsets of web.config in a separate folder outside of web app?有没有办法将 web.config 的子集存储在 Web 应用程序之外的单独文件夹中?
【发布时间】:2018-09-11 03:21:17
【问题描述】:

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

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

另外,是否可以将其存储在 Web 应用程序之外,这样来自源的基本“全部发布”就不会覆盖损坏的配置文件?即,我是否可以将此 Web.config 子集文件存储在主 Web 目录之外的某个随机文件目录中,该目录包含 Web 应用程序的所有文件?

【问题讨论】:

  • 查看这篇文章。 hanselman.com/blog/…
  • 您基本上会将设置放在另一个文件中,并从主配置文件中引用它。它适用于应用程序设置和连接字符串。应该是你要找的

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


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2018-08-28
    • 2012-05-26
    • 2021-12-10
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 2012-04-22
    相关资源
    最近更新 更多