ASP.NET MVC 6接続スティッキングconfig.json

asp.net asp.net-core asp.net-core-mvc asp.net-mvc entity-framework-core

質問

私が持っている問題は、私が "System.NullReferenceException"例外を取得するプログラムを実行するときです。問題が何であるか分かりません。この問題でも、dnxを使用してデータ移行を開始することはできません。

ここに画像の説明を入力

ここに画像の説明を入力

#config.json

 {
  "Data": {
  "DefaultConnection": {
  "Connectionstring": "Data Server=.\\ERKANDEMIR5E91;Initial Catalog=RegistrationDB;Integrated Security=True;"
      }
   }
}

scoolDbContext.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Data.Entity;
using Microsoft.Data.Entity.Metadata;
using School.Models;

namespace School.Context
{
    public class SchoolDbContext : DbContext
    {
       public DbSet<Course> Courses {get; set;}
    }
} 

Statup.cs

namespace School
{
public class Startup
{
    public static Microsoft.Extensions.Configuration.IConfiguration Configuration { get; set; }

    public Startup (IHostingEnvironment env)
    {
        //setup configuration sources
        Configuration = new ConfigurationBuilder()
       .AddJsonFile("config.json")
       .AddEnvironmentVariables()
       .Build();

    }
    // This method gets called by the runtime. Use this method to add services to the container.
    // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
    public void ConfigureServices(IServiceCollection services)
    {
        //add services to container
        services.AddEntityFramework().AddSqlServer().AddDbContext<SchoolDbContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
        services.AddMvc();

        //resolve dependency injections
        services.AddScoped<IRegistrationRepo, RegistrationRepo>();
        services.AddScoped<SchoolDbContext, SchoolDbContext>();           
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app)
    {
        app.UseIISPlatformHandler();
        app.UseMvc();
        app.UseWelcomePage();

    }

    // Entry point for the application.
    public static void Main(string[] args) => WebApplication.Run<Startup>(args);
   }
 }

ここに画像の説明を入力

受け入れられた回答

コードを修正する必要があります

public Startup (IHostingEnvironment env)
{
    //setup configuration sources
    Configuration = new Configuration()
        .AddJsonFile("config.json")
        .AddEnvironmentVariables();
}

public Startup (IHostingEnvironment env)
{
    //setup configuration sources
    Configuration = new ConfigurationBuilder()
        .AddJsonFile("config.json")
        .AddEnvironmentVariables()
        .Build();
}

または

public Startup (IHostingEnvironment env)
{
    //setup configuration sources
    Configuration = new ConfigurationBuilder()
        .AddJsonFile("config.json")
        .AddJsonFile($"config.{env.EnvironmentName}.json", true)
        .AddEnvironmentVariables()
        .Build();
}


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ