ASP.NET Core 2.1应用程序未获取正确的appsettings.json

时间:2018-10-15 23:33:34

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

我有2个申请

  1. 应用
  2. ClassLibrary

应用程序引用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。

1 个答案:

答案 0 :(得分:4)

  

有没有一种方法可以指定我要引用类库中的appsettings而不是App。

将类库的 appsettings.json 文件重命名为该库唯一的文件。

类似{classlibname}.appsettings.json

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

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

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