![](/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.