首页 > 解决方案 > ASP.NET Core 2.1 应用程序没有得到正确的 appsettings.json

问题描述

我有 2 个应用程序

  1. 应用程序
  2. 类库

App 引用 ClassLibrary 并且都有自己的 appsettings.json 文件。我的类库应用程序没有 startup.cs 或 program.cs,所以我有一个静态类,它应该从本地 appsettings.json 文件中读取,如下所示:

static class ConfigurationManager
{
    public static IConfiguration AppSetting { get; }
    static ConfigurationManager()
    {
        AppSetting = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                .Build();
    }
}

这是类库中的 appsettings.json

{
  "AccountsAddress": "http://localhost:55260/api/Accounts/"
}

当我的应用程序运行时,问题就开始了,它调用了位于类库中的方法。但是,调用的 appsettings 不是类库中的那个。它是应用程序本身中的一个。有没有办法指定我想引用类库中的 appsettings 而不是 App.

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

解决方案


有没有办法指定我想引用类库中的 appsettings 而不是 App.

将类库的appsettings.json文件重命名为该库独有的名称。

就像是{classlibname}.appsettings.json

重命名后,确保将其设置为复制到输出目录。

还要确保在重命名后代码正在调用新名称

//...
.AddJsonFile("classlibname.appsettings.json", optional: true, reloadOnChange: true)
//...

推荐阅读