ASP.. NET 5配置文件未打开

本文关键字:配置文件 NET ASP | 更新日期: 2023-09-27 18:19:19

我已经创建了一个静态类来使用我的配置,但是当我试图将JSON文件添加到配置中时,我得到了一个异常:

MyConfigurations.json:

{ "ConnectionString": "my connection string", ...}

静态类构造函数:

static MyConfigurations() {
    var configuration = new Configuration()
        .AddJsonFile("MyConfigurations.json")
        .AddEnvironmentVariables();
    ...
    ...

我的异常发生在.AddJsonFile执行时。

例外:Object reference not set to an instance of an object."

异常堆栈

:

在Microsoft.Framework.ConfigurationModel.PathResolver.get_ApplicationBaseDirectory ()在Microsoft.Framework.ConfigurationModel.JsonConfigurationExtension.AddJsonFile (IConfigurationSourceRoot配置,字符串路径,布尔值可选)Microsoft.Framework.ConfigurationModel.JsonConfigurationExtension.AddJsonFile (IConfigurationSourceRoot配置,字符串路径)Project.SharedKernel.MyConfigurations . . cctor ()C: ' ' Project.SharedKernel ' MyConfigurations.cs项目:86行

ASP.. NET 5配置文件未打开

您没有设置应用程序基路径,配置API需要该路径来确定物理配置文件的位置。可通过SetBasePath扩展方式设置。典型的实现是这样的:

public Startup(IApplicationEnvironment appEnv)
{
    var configuration = new ConfigurationBuilder()
        .SetBasePath(appEnv.ApplicationBasePath)
        .AddJsonFile("MyConfigurations.json")
        .AddEnvironmentVariables()
        .Build();
}

注意:这只对beta8有效,参见这个问题。你不再需要在RC1中指定默认的基本路径:https://github.com/aspnet/Announcements/issues/88.