1

コンソールアプリケーションで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などの文字列プロパティまたは構造体を表すかどうかは関係していないようです。

+1

間違ったプロジェクトタイプを作成したようです。 "Console Application(.NET Core)"を作成し、そのターゲットを 'netcoreapp1.0' ot' net452'から変更し、 'Microsoft.NETCore.App'パッケージを依存関係から削除する必要があります。 .NETコアアプリケーションは、package.xmlではなくproject.jsonを使用してファイルを復元します。 – Tseng

答えて

0

TypeConverterSystemにありました。私はNuGetを突っ込んで、.NETコアの一部として実際にアセンブリがあることを発見しました。System.ComponentModel.TypeConverter。そのパッケージをインストールすると問題が解決しました。

関連する問題