получение кода безопасности .Net Core, работающего в консольном приложении .Net Framework

Я унаследовал немного кода:

 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?)    

person cs0815    schedule 20.12.2019    source источник
comment
Если вы унаследовали этот код, он уже должен быть в проекте типа .Net Core, поэтому скомпилируйте его там. Непонятно, чего вы пытаетесь достичь в конечном итоге.   -  person Vidmantas Blazevicius    schedule 20.12.2019
comment
закодируйте только некоторые классы, которые я пытаюсь включить. Извините, я, возможно, неправильно понял немного о Core ...   -  person cs0815    schedule 20.12.2019


Ответы (1)


Это код .NET Standard, который должен нормально работать на .NET Framework 4.6.1 или выше.

Вы не предоставляете достаточно информации, но я предполагаю, что вам не хватает ссылки на этот пакет NuGet: https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/2.2.0

Или вам может не хватать правильного использования:

using Microsoft.Extensions.Configuration;

Так что метод расширения AddJsonFile найден.

person Euphoric    schedule 20.12.2019
comment
Спасибо, я использую .NET Framework 4.6.1 и обнулил это (ранее). Все равно ошибка. Извините, я, возможно, неправильно понял немного о Core ... - person cs0815; 20.12.2019
comment
Извините, этот точный пакет nuget помог! - person cs0815; 20.12.2019