获取在 .Net Framework 控制台应用程序中工作的安全 .Net Core 代码

getting security .Net Core code working in .Net Framework Console application

我继承了一点代码:

 var builder = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json");

我认为是源于 .net Core 应用程序。首先,我遇到了这个问题(从某种意义上说,我无法在 .Net Framework 中编译它):

.SetBasePath(Directory.GetCurrentDirectory())

但我遇到了 。接受的答案解决了它。现在我正在努力解决这个问题(同样是我无法在 .Net Framework 中编译它)::

.AddJsonFile("appsettings.json")

有没有办法解决这个问题(通常我会从 App.Config 获得这样的数据......)?谢谢。

PS:

更多代码和错误信息:

using Microsoft.Extensions.Configuration;
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration.FileExtensions;
using Microsoft.Extensions.Configuration;

namespace SandboxSecurityToken
{
    class Program
    {
        static void Main(string[] args)
        {

        ...


        static async Task RunAsync()
        {
            var builder = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json");       


Severity    Code    Description Project File    Line    Suppression State
Error   CS1061  'IConfigurationBuilder' does not contain a definition for 'AddJsonFile' and no accessible extension method 'AddJsonFile' accepting a first argument of type 'IConfigurationBuilder' could be found (are you missing a using directive or an assembly reference?)    

这是 .NET 标准代码,应该可以在 .NET Framework 4.6.1 或更高版本上正常工作。

您没有提供足够的信息,但我猜您缺少对此 NuGet 包的引用:https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/2.2.0

或者你可能没有正确使用:

using Microsoft.Extensions.Configuration;

这样 AddJsonFile 扩展方法就找到了。