Asp.net core mvc 获取配置/连接字符串的空值

Asp.net core mvc 获取配置/连接字符串的空值,asp.net-core-mvc,Asp.net Core Mvc,我最近将我的项目从dotnet core v.1.0.0升级到了v.1.0.4。我在每个Startup.cs文件中使用相同的代码。V.1.0.0可以正常工作,而0.4不能。Visual Studio 2017 System.ArgumentNullException occurred HResult=0x80004003 Message=Value cannot be null. Source=<Cannot evaluate the exception source>

我最近将我的项目从dotnet core v.1.0.0升级到了v.1.0.4。我在每个Startup.cs文件中使用相同的代码。V.1.0.0可以正常工作,而0.4不能。Visual Studio 2017

System.ArgumentNullException occurred
  HResult=0x80004003
  Message=Value cannot be null.
  Source=<Cannot evaluate the exception source>
  StackTrace:
   at Microsoft.EntityFrameworkCore.Utilities.Check.NotEmpty(String value, String parameterName)
   at Microsoft.EntityFrameworkCore.SqlServerDbContextOptionsExtensions.UseSqlServer(DbContextOptionsBuilder optionsBuilder, String connectionString, Action`1 sqlServerOptionsAction)
   at ApostilleDNCv2.Startup.<ConfigureServices>b__4_0(DbContextOptionsBuilder options) in c:\users\kenn.kinnaird\documents\visual studio 2017\Projects\ApostilleDNCv2\ApostilleDNCv2\Startup.cs:line 34
   at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.DbContextOptionsFactory[TContext](IServiceProvider applicationServiceProvider, Action`2 optionsAction)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass16_0.<RealizeService>b__0(ServiceProvider provider)
   at Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, Boolean isDefaultParameterRequired)
   at Microsoft.AspNetCore.Mvc.Internal.TypeActivatorCache.CreateInstance[TInstance](IServiceProvider serviceProvider, Type implementationType)
   at Microsoft.AspNetCore.Mvc.Controllers.DefaultControllerFactory.CreateController(ControllerContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextResourceFilter>d__22.MoveNext()
}

我在这里已经研究了其他解决方案;谁也帮不上忙。
任何帮助都将不胜感激。

找到了答案。连接字符串必须是appsettings文件中的第一个字符串。我尝试了这个方法,但无法使其正常工作,结果只是对连接字符串进行了硬编码,并找到了答案。连接字符串必须是appsettings文件中的第一个字符串。我尝试了这个方法,但无法使其工作,结果只是硬编码了连接字符串
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("ApostillesTest")));
    services.AddMvc();
    services.AddDistributedMemoryCache();
    services.AddScoped<ICountryRepository, CountryRepository>();
"ConnectionStrings": {
  "ApostillesTest": "Server=TESTSQLCORP;Database=Apostilles;Trusted_Connection=True;Persist Security Info=True",
  "DefaultConnection": "Server=TESTSQLCORP;Database=Apostilles;Trusted_Connection=True"