如何在Visual Studio Code中添加App.Config?

时间:2019-05-22 12:22:49

标签: c# .net-core 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);
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您的代码具有ConfigurationManager.ConnectionStrings来获取连接字符串。该代码在.NET Core 2.2及更高版本中将不起作用,因为ConfigurationManager.ConnectionStrings用于在ASP.NET项目的web.config和控制台和Winforms / WPF项目的app.config中获取web.config中的连接字符串。 .NET Framework。

在.NET Core 2.0和更高版本中,大多数配置都存储为JSON文件,默认情况下,等效于web.config / app.config的文件是appsettings.json文件,并且您也可以将自己的配置文件保存为好吧,因为它是高度可扩展的。

有关如何管理配置文件的.NET Core 2.0(或更高版本)官方文档可在https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.2

中找到。

答案 1 :(得分:0)

安装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"
  }
}