如何在Visual Studio代码中使用连接字符串配置C#程序?
这是用于.net Core 2.2使用.NET Core SDK版本2.2.203在Visual Studio代码中1.34.0
我尝试将app.config文件添加到项目中,但是我无法解决此问题。请让我知道配置连接字符串的任何解决方案。
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Collections.Specialized;
using Dapper;
namespace Sample_Dapper
{
class Program
{
static void Main(string[] args)
{
IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
var SqlString = "SELECT TOP 100 [CustomerID],[CustomerFirstName],
[CustomerLastName],[IsActive] FROM [Customer]";
var ourCustomers = (List<Customer>)db.Query<Customer>(SqlString);
}
}
}
安装microsoft.extensions.configuration.json
然后,将AppSettings.json文件添加到项目中,然后右键单击文件 - properties,然后选择"副本"作为复制,如果更新
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
IConfigurationRoot configuration = builder.Build();
Console.WriteLine(configuration.GetConnectionString("Test"));
Console.WriteLine(configuration.GetSection("SampleObj:AnyPropName").Value);
示例appsetting.json文件
{
"SampleObj": {
"AnyPropName" : "testProp"
} ,
"ConnectionStrings": {
"Test": "CONNECTION-STRING"
}
}
您的代码具有ConfigurationManager.ConnectionStrings
以获取连接字符串。此代码将在.NET Core 2.2及以后无法使用,因为ConfigurationManager.ConnectionStrings
用于在ASP.NET Project中获取web.config中的连接字符串,并且如果您的应用程序使用.NET框架,则CONS.NET Project for Asp.net Project和app.config for Console和Winforms/WPF Projects。
在.net core 2.0及以后,大多数配置都存储为JSON文件,默认情况下,web.config/app.config等效的是appsettings.json
文件,您也可以拥有自己的配置文件,因为它高度扩展。
官方.NET CORE 2.0(或更高版本(有关如何管理配置文件的文档,请访问:https://learn.microsoft.com/en-us/aspnet/aspnet/core/fundamentals/fundamentals/configuration/?-2.2