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