C# 如何在visual studio代码中添加和访问appsettings.config文件中的键值对?

C# 如何在visual studio代码中添加和访问appsettings.config文件中的键值对?,c#,.net-core,visual-studio-code,app-config,C#,.net Core,Visual Studio Code,App Config,我已经使用visual studio代码上的.net内核和sdk在控制台应用程序中编写了我的C#逻辑。我试图添加一个配置文件来配置某些参数,但是,一旦创建了appsettings.json文件,我就无法在代码中访问它。需要帮助才能访问配置文件中的值 using System; using System.IO; using Microsoft.Extensions.Configuration; namespace testapp { class Program {

我已经使用visual studio代码上的.net内核和sdk在控制台应用程序中编写了我的C#逻辑。我试图添加一个配置文件来配置某些参数,但是,一旦创建了appsettings.json文件,我就无法在代码中访问它。需要帮助才能访问配置文件中的值

using System;
using System.IO;
using Microsoft.Extensions.Configuration;

namespace testapp
{
    class Program
    {
        static void Main(string[] args)
        {
        var appSettings = new Config();
           var config = new ConfigurationBuilder()
             .SetBasePath(Directory.GetCurrentDirectory())
             .AddEnvironmentVariables() //This line doesnt compile 
             .AddJsonFile("appsettings.json", true, true)
             .Build();
           config.Bind(appSettings);       //This line doesnt compile        

            Console.WriteLine("Hello World!");
            Console.WriteLine($" Hello {appSettings.name} !"); 
        }
    }
    public class Config
    {
       public string name{ get; set; }
    }
}
HomeController.cs

    public class HomeController : Controller {

       private readonly IConfiguration _config;

       public HomeController(IConfiguration config) { _config = config; }

       public IActionResult Index() {

          Console.WriteLine(_config.GetSection("AppSettings:Token").Value);

          return View();

           }
   }
appsettings.json

{
  "AppSettings": {
    "Token": "T21pZC1NaXJ6YWVpWhithOutStar*"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}
试试这个-

using System;
using Microsoft.Extensions.Configuration;

namespace testapp
{
    class Program
    {            
        static void Main(string[] args)
        {
           var appSettings = new Config();
           var config = new ConfigurationBuilder()
             .SetBasePath(Directory.GetCurrentDirectory())
             .AddEnvironmentVariables()
             .AddJsonFile("appsettings.json", true, true)
             .Build();
           config.Bind(appSettings); 

           Console.WriteLine($" Hello {appSettings.name} !");
        }
    }

    public class Config
    {
       public string name{ get; set; }
    }
}
appsettings.json

{
  "AppSettings": {
    "Token": "T21pZC1NaXJ6YWVpWhithOutStar*"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

显示您的
appsettings.json
{“name”:“Gary”}尝试了此操作,但代码未编译,因为IConfigurationRoot不包含Bind方法的定义。使用此
var config=new ConfigurationBuilder()
创建
ConfigurationBuilder
的对象我已按建议完成,但仍然,它不能编译。您是否能够在您的终端编译它?使用系统;使用Microsoft.Extensions.Configuration;命名空间testapp{class程序{static void Main(string[]args){var appSettings=new Config();var Config=new ConfigurationBuilder().AddJsonFile(“appSettings.json”,true,true)。Build();Config.Bind(appSettings);Console.WriteLine($“Hello{config.name}!”);}}}public class config{public string name{get;set;}}}}}我已经编辑了我的答案,
basepath
AddEnvironmentVariables
丢失了。你现在可以试试。