The issue that I am having is when I run the program I get a "System.NullReferenceException" exception. Not sure what the problem is. This issue also doesn't allow me to start a data migration using dnx.
#config.json
{
"Data": {
"DefaultConnection": {
"Connectionstring": "Data Server=.\\ERKANDEMIR5E91;Initial Catalog=RegistrationDB;Integrated Security=True;"
}
}
}
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;}
}
}
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);
}
}
You should fix the code
public Startup (IHostingEnvironment env)
{
//setup configuration sources
Configuration = new Configuration()
.AddJsonFile("config.json")
.AddEnvironmentVariables();
}
to
public Startup (IHostingEnvironment env)
{
//setup configuration sources
Configuration = new ConfigurationBuilder()
.AddJsonFile("config.json")
.AddEnvironmentVariables()
.Build();
}
or to
public Startup (IHostingEnvironment env)
{
//setup configuration sources
Configuration = new ConfigurationBuilder()
.AddJsonFile("config.json")
.AddJsonFile($"config.{env.EnvironmentName}.json", true)
.AddEnvironmentVariables()
.Build();
}