【问题标题】:ASP.NET Core 2.2 How to share web.config/launchSettings.json files among projectsASP.NET Core 2.2 如何在项目之间共享 web.config/launchSettings.json 文件
【发布时间】:2020-01-26 06:17:26
【问题描述】:

我有这个解决方案结构:

  • AppOne.Account
  • AppOne.Admin
  • AppOne.System
  • AppOne.Data
  • AppOne.ClassLibrary

AppOne.AccountAppOne.AdminAppOne.SystemASP.NET 核心应用项目。其余的是图书馆。

目前我必须在部署时手动复制并粘贴相同的 web.config 文件,甚至在开发中,我必须复制并粘贴 launchSettings.json 文件,因为它包含我需要的环境变量。

是否可以将web.configlaunchSettings.json 文件存储在一个文件夹中,然后在我的Startup.cs 中引用它。

我正在考虑将其存储在解决方案文件夹中,然后读取其中的内容。但是,我不确定这是否可能,我也不确定从哪里读取它。

【问题讨论】:

  • 我刚刚通读了一遍。我有点理解,但我在哪里引用我其他文件夹中的 web.config 文件?我需要添加代码还是参考足够?
  • 您没有“引用”web.config。您将 app/web.config 文件放入项目中(或实际位于另一个文件夹中的单个 Config 文件的快捷方式)。然后在代码中使用ConfigurationManager.AppSetting...,它将在正在运行的项目中查找配置文件。它是基于上下文的。如果您正在运行主项目,它将查看配置的主项目,如果您正在运行单元测试项目,那么它将期望配置文件(或快捷方式)位于单元测试项目的根目录中.

标签: c# asp.net-mvc asp.net-core .net-core asp.net-core-mvc


【解决方案1】:

您不会“引用” web.config。您将 app/web.config 文件放入项目中(或实际位于另一个文件夹中的单个 Config 文件的快捷方式)。

然后在代码中使用ConfigurationManager.AppSetting...,它将在正在运行的项目中查找配置文件。它是基于上下文的。

如果您正在运行主项目,它将查看配置的主项目,如果您正在运行单元测试项目,那么它会期望配置文件(或快捷方式)位于根目录中单元测试项目。

一个不错的解决方案是在其他项目中添加配置文件快捷方式,这样您只需更新一个文件:

【讨论】:

    猜你喜欢
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多