c# - 如何在.net core 3.1 Winforms中使用ConfigurationBuilder?

标签 c# .net-core

我在 .net core 2.1 aspnet 应用程序中运行以下内容

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

public class Program
{
    public static void Main(string[] args)
    {
        var configuration = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile(path: "appsettings.json", optional: false, reloadOnChange: true)
            .Build();

当我尝试使用 .net core 3.1 WInforms 应用程序执行类似操作时,我发现 SetBasePath 和 AddJsonFile 不可用

using Microsoft.Extensions.Configuration;
using System;
using System.Text;
using System.Windows.Forms;
using System.Xml;
namespace myapp {

public partial class Form1 : Form
{
    private SyndicationFeed feed;
    public Form1()
    {
        InitializeComponent();
        var configuration = new ConfigurationBuilder();

        configuration.SetBasePath(System.IO.Directory.GetCurrentDirectory());  // errors here
        configuration.AddJsonFile(path: "appsettings.json", optional: false, reloadOnChange: true); // errors here
        configuration.Build();
    }

最佳答案

我尝试了与您发布的相同的代码。添加以下 NuGet 包后,我可以编译并运行该应用程序。

Microsoft.Extensions.Configuration (Version 3.1.0)
Microsoft.Extensions.Configuration.Json (Version 3.1.0)

很可能您的环境中缺少这些软件包。

关于c# - 如何在.net core 3.1 Winforms中使用ConfigurationBuilder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59419755/

相关文章:

dll - 找不到类型或命名空间名称 `HolidayService2'。您是否缺少程序集引用?

asp.net-core - .NET CORE 2.0 在尝试激活时无法解析服务类型

docker - 如果在Docker下运行的.NET Core单元测试的代码覆盖率不到90%,则打破TeamCity的构建

c# - HttpClient的多种实现

c# - 比较数组或其他方法

c# - 调用 subject.OnCompleted() 会整理/调用处置/不泄漏内存,还是我必须自己调用 IDisposable 上的处置?

c# - DisplayFor() 显示从下拉列表中选择的内容

c# - Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

c# - asp.net 简单模式用法

.net-core - 如何使用 TeamCity 发布 .Net Core lambda 函数