![](/img/trans.png)
[英]How can I add an app.config or web.config file in Visual Studio Web 2013?
[英]How to add an App.Config in Visual Studio Code?
如何在Visual Studio Code中使用连接字符串配置C#程序?
这适用于在Visual Studio Code 1.34.0中使用.Net Core SDK版本2.2.203的.Net Core 2.2
我试图将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文件添加到项目中,然后右键单击file -properties并选择copy以将其输出为副本(如果较新)
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
用于在web.config中获取ASP.NET项目的连接字符串,并在app.config中获取控制台和Winforms / WPF项目的连接字符串(如果您的应用程序使用.NET)框架。
在.NET Core 2.0和更高版本中,大多数配置都存储为JSON文件,默认情况下,web.config / app.config的等效项是appsettings.json
文件,并且您也可以拥有自己的配置文件,因为它是高度可扩展。
有关如何管理配置文件的官方.NET Core 2.0(或更高版本)文档,请访问: https : //docs.microsoft.com/zh-cn/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.