コンソールアプリケーションでASP.NETコア構成(特にMicrosoft.Extensions.Configuration.Json)を使用しようとしています。私がIConfigurationRoot.Bind()
を呼び出すと、アセンブリSystem.ComponentModel.TypeConverter
のためにFileNotFound
例外がスローされます。私の知る限りTypeConverter
へ構成をバインドしようとしています:System.ComponentModel.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
などの文字列プロパティまたは構造体を表すかどうかは関係していないようです。
間違ったプロジェクトタイプを作成したようです。 "Console Application(.NET Core)"を作成し、そのターゲットを 'netcoreapp1.0' ot' net452'から変更し、 'Microsoft.NETCore.App'パッケージを依存関係から削除する必要があります。 .NETコアアプリケーションは、package.xmlではなくproject.jsonを使用してファイルを復元します。 – Tseng