我有2个申请


应用程式
类库


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

最佳答案

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


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

类似于{classlibname}.appsettings.json

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

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

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

关于c# - ASP.NET Core 2.1应用程序未获取正确的appsettings.json,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52826049/

10-12 22:04