值不能为空参数名称:starter中的connectionString appsettings.json

问题描述

首先,

 "Data": {
"ConnectionStrings": {
  "DefaultConnection": "Data Source=server;Initial Catalog=dbase;Trusted_Connection=True;MultipleActiveResultSets=true"},
}

与在Visual Studio中添加“ Asp.NET配置文件”时所获得的结构略有不同。当您这样做时,您会得到

"ConnectionStrings": {
  "DefaultConnection": "Data Source=server;Initial Catalog=dbase;Trusted_Connection=True;MultipleActiveResultSets=true"},

没有“数据” JavaScript对象。这就是扩展方法不起作用的原因。它期望这种结构。无论如何,您都可以使用此结构(带有“ Data”的结构),并按以下方式获取连接字符串:

var connectionString = Configuration["Data:ConnectionStrings:DefaultConnection"];

请注意,您正在使用:而不是来浏览JavaScript对象树.。这是由于使用时存在一些跨平台问题.

如果您删除“数据”:{},则可以执行以下操作:

var connectionString = Configuration["ConnectionStrings:DefaultConnection"];

现在,扩展方法将起作用。在Microsoft扩展程序的下面与上面的代码相同。

var config2 = Configuration.GetConnectionString("DefaultConnection");

解决方法

我试图在我的appsettings.json文件中写入连接字符串,并将其带入我的启动文件中,但我不断得到一个Value不能为null。参数名称:connectionString。我一直在使用各种示例,但似乎看不到带有ASP.NET
1.0 Core启动类的新设置。

Appsetting.json文件:

{
"Data": {
"DefaultConnection": {
  "ConnectionString": "Data Source=server;Initial Catalog=dbase;Trusted_Connection=True;MultipleActiveResultSets=true"

},"Logging": {
  "IncludeScopes": false,"LogLevel": {
    "Default": "Debug","System": "Information","Microsoft": "Information"
  }
}
}
}

尝试Startup.cs的方法

public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json",optional: true,reloadOnChange: true)
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json",optional: true)
            .AddEnvironmentVariables();
        Configuration = builder.Build();
    }

 public void ConfigureServices(IServiceCollection services)
    {
        var connStr = Configuration.GetConnectionString("DefaultConnection");
        System.Console.WriteLine(connStr);
        services.AddDbContext<DbContext>(options => options.UseSqlServer(connStr)); //error right here -- Null value
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...