【发布时间】:2018-04-01 06:53:00
【问题描述】:
如何在 Core 2.0 的 ConfigurationBuilder 中设置基本路径。
我在 Google 上搜索并找到了 this 问题、来自 Microsoft 文档的 this 以及在线的 2.0 文档,但他们似乎使用的是来自 1.0.0-beta8 的 Microsoft.Extension.Configuration 版本。
我想阅读appsettings.json。在 Core 2.0 中是否有新的方法来做到这一点?
using System;
using System.IO;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp2
{
class Program
{
public static IConfigurationRoot Configuration { get; set; }
static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) // <== compile failing here
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
Console.WriteLine(Configuration.GetConnectionString("con"));
Console.WriteLine("Press a key...");
Console.ReadKey();
}
}
}
appsetting.json
{
"ConnectionStrings": {
"con": "connection string"
}
}
更新:
除了添加Microsoft.Extensions.Configuration.FileExtensions 如下Set 所示,我还需要添加Microsoft.Extensions.Configuration.Json 以获得AddJsonFile 扩展。
【问题讨论】:
-
更新成功了!
-
Microsoft.Extensions.Configuration.Json依赖于Microsoft.Extensions.Configuration.FileExtensions,所以你只需要前者。 -
朋友们,请注意,
AddJsonFile("appsettings.json")方法不知道您的托管环境!请改用.AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json")。 :D
标签: c# asp.net-core configuration .net-core