【问题标题】:How do I Use ConfigurationBuilder in .net core 3.1 Winforms?如何在 .net core 3.1 Winforms 中使用 ConfigurationBuilder?
【发布时间】:2019-12-20 04:18:57
【问题描述】:

我在 .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();
    }

【问题讨论】:

    标签: c# .net-core


    【解决方案1】:

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

    Microsoft.Extensions.Configuration(版本 3.1.0)
    Microsoft.Extensions.Configuration.Json(版本 3.1.0)

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

    【讨论】:

    • 我错过了 Microsoft.Extensions.Configuration.Json
    • 太棒了!!!,我不知道为什么 VS 没有为此提出任何建议。非常感谢。
    • 您需要以下三个:1) Microsoft.Extensions.Configuration,用于 ConfigurationBuilder,2) Microsoft.Extensions.Configuration.Json,用于 AddJsonFile(),AND 3) Microsoft.Extensions.Configuration.FileExtensions,用于 SetBasePath()
    【解决方案2】:

    你的扩展方法 SetBasePath 定义在Config.FileExtensions

    您能否检查一下您是否缺少对以下内容的引用: Microsoft.Extensions.Configuration.FileExtensions 包。

    为了解析AddJsonFile,需要添加对Microsoft.Extensions.Configuration.Json包的引用。

    【讨论】:

      猜你喜欢
      • 2021-05-03
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      相关资源
      最近更新 更多