1

Я пытаюсь использовать конфигурацию ядра ASP.NET (в частности, Microsoft.Extensions.Configuration.Json) в консольном приложении. Когда я звоню IConfigurationRoot.Bind(), он выдает исключение FileNotFound для сборки System.ComponentModel.TypeConverter.Попытка привязать конфигурацию: System.ComponentModel.TypeConverter не может быть загружен

Насколько мне известно TypeConverter находится в System.ComponentModel пространствах имен в системе узла , а не фиктивной System.ComponentModel.TypeConverter сборки.

Это, кажется, ошибка. Или я чего-то не хватает?

Я нацеливание .NET 4.5.2, которые ссылаются System, и установлены следующие пакеты NuGet:

<package id="Microsoft.Extensions.Configuration" version="1.0.0" targetFramework="net452" /> 
<package id="Microsoft.Extensions.Configuration.Abstractions" version="1.0.0" targetFramework="net452" /> 
<package id="Microsoft.Extensions.Configuration.Binder" version="1.0.0" targetFramework="net452" /> 
<package id="Microsoft.Extensions.Configuration.FileExtensions" version="1.0.0" targetFramework="net452" /> 
<package id="Microsoft.Extensions.Configuration.Json" version="1.0.0" targetFramework="net452" /> 
<package id="Microsoft.Extensions.FileProviders.Abstractions" version="1.0.0" targetFramework="net452" /> 
<package id="Microsoft.Extensions.FileProviders.Physical" version="1.0.0" targetFramework="net452" /> 
<package id="Microsoft.Extensions.FileSystemGlobbing" version="1.0.0" targetFramework="net452" /> 
<package id="Microsoft.Extensions.Primitives" version="1.0.0" targetFramework="net452" /> 

Есть обходной путь или дополнительные шаги?

Это также не работает:

ConfigurationBinder.Bind(config, myconfig); 

Это, кажется, не имеет значения, является ли моя JSON строки свойства или на структуру таких как TimeSpan.

+1

Похоже, вы создали неправильный тип проекта. Вы должны создать «Консольное приложение (.NET Core)» и изменить его цель из «netcoreapp1.0' ot' net452' и удалить пакет «Microsoft.NETCore.App» из зависимостей. Приложения .NET Core используют project.json для восстановления файлов, а не пакетов.xml – Tseng

ответ

0

Я привык к TypeConverter находящимся в System. Я ткнулся вокруг NuGet и обнаружил, что действительно есть сборка, System.ComponentModel.TypeConverter как часть .NET Core. Установка этого пакета исправила мою проблему.