C# 如何在visual studio代码中添加和访问appsettings.config文件中的键值对?
我已经使用visual studio代码上的.net内核和sdk在控制台应用程序中编写了我的C#逻辑。我试图添加一个配置文件来配置某些参数,但是,一旦创建了appsettings.json文件,我就无法在代码中访问它。需要帮助才能访问配置文件中的值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 {
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
丢失了。你现在可以试试。