我位于项目根目录的web.config
中有以下内容:
<configuration>
<connectionStrings>
<clear />
<add name="Default" providerName="System.Data.SqlClient" connectionString="Server=tcp:whoops;Encrypt=True;TrustServerCertificate=False;Connection Timeout=3000;" />
</connectionStrings>
<appSettings>
<add key="ConnectionString" value="test"/>
</appSettings>
....
我从Startup.cs
读取(这是一个asp.net核心网络应用程序):
string connection = ConfigurationManager.ConnectionStrings["Default"].ConnectionString;
然而,当我突破此问题时,ConfigurationManager.ConnectionStrings
和ConfigurationManager.AppSettings
为空(好吧,第一个有一些默认连接字符串不是web.config
中的那个)。
这里发生了什么?
答案 0 :(得分:1)
您必须将配置迁移到新文件appsettings.json https://docs.microsoft.com/en-us/aspnet/core/migration/configuration?view=aspnetcore-2.1
答案 1 :(得分:0)
不是说这是应该的方式,但是您可以执行以下操作...
在ASP.Net Core 2.2中,您应该可以使用以下方式将XML配置添加到IConfigurationBuilder:
configBuilder.AddXmlFile("app.config");
内容与上面几乎相同...
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings configSource="connectionStrings.config" />
<appSettings>
<add key="Test" value="TestValue" />
</appSettings>
</configuration>
然后您应该可以使用...访问AppSettings / ConnectionStrings。
ConfigurationManager.ConnectionStrings
ConfigurationManager.AppSettings.AllKeys
{string[1]}
[0]: "Test"
ConfigurationManager.AppSettings.Get("Test")
"TestValue"