C# 配置管理器可以';无法在ASP.net 5中获取连接字符串

C# 配置管理器可以';无法在ASP.net 5中获取连接字符串,c#,json,connection-string,asp.net5,C#,Json,Connection String,Asp.net5,我有一个ASP.NET5Web应用程序,它已经引入了一个.NET4.6类库。在类库中的某个位置,有一个从web.config获取连接字符串的调用: ConfigurationManager.ConnectionStrings["AppDataConnectionString"].ConnectionString (注意:我无法更改此代码。) 此类库已在旧的web窗体应用程序中使用,其中AppDataConnectionString是在其web.configs中定义的。现在我试图在我的ASP.N

我有一个ASP.NET5Web应用程序,它已经引入了一个.NET4.6类库。在类库中的某个位置,有一个从web.config获取连接字符串的调用:

ConfigurationManager.ConnectionStrings["AppDataConnectionString"].ConnectionString
(注意:我无法更改此代码。)

此类库已在旧的web窗体应用程序中使用,其中AppDataConnectionString是在其web.configs中定义的。现在我试图在我的ASP.NET5Web应用程序中使用类库,但上面的代码引发了一个空引用异常

以下是ASP.NET 5项目中my web.config中的连接字符串部分:

<connectionStrings>    
    <add name="AppDataConnectionString" connectionString="server=xxxxxx;database=yyyyy;Trusted_Connection=yes;" providerName="System.Data.SqlClient" />
</connectionStrings>
这里是我在启动时加载配置的地方:

public IConfiguration _Configuration { get; set; }

public Startup()
{
    _Configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
}

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton(provider => _Configuration);             
}

public void Configure(IApplicationBuilder app)
{
    // Call some code from the class library that tries to get that connection string.
}

在我看来,配置管理器就是找不到连接字符串的位置。我的web.config或appsettings.json的结构是否正确,它才能找到它?

事实证明,以前存储在ASP.net早期版本的web.config文件中的任何配置现在都需要存储在与ASP.net 5.0中的project.json相同目录中的app.config文件中。现在,我导入的类库可以获得它们的连接字符串,一切正常。

结果是,以前在ASP.net早期版本中存储在web.config文件中的任何配置现在都需要存储在app.config文件中,该文件与ASP.net 5.0中的project.json目录相同。现在,我导入的类库可以获得它们的连接字符串,一切正常

public IConfiguration _Configuration { get; set; }

public Startup()
{
    _Configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
}

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton(provider => _Configuration);             
}

public void Configure(IApplicationBuilder app)
{
    // Call some code from the class library that tries to get that connection string.
}