1

我想在控制檯應用程序中使用ASP.NET Core配置(特別是Microsoft.Extensions.Configuration.Json)。當我打電話給IConfigurationRoot.Bind()時,它會爲組件System.ComponentModel.TypeConverter拋出一個FileNotFound異常。嘗試綁定配置:無法加載System.ComponentModel.TypeConverter

據我所知TypeConverter是在系統組裝,而不是虛構的System.ComponentModel.TypeConverter組件System.ComponentModel命名空間。

這似乎是一個錯誤。或者我錯過了什麼?

我針對.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」或「net452」中移除,並從相關性中移除「Microsoft.NETCore.App」包。 .NET Core應用程序使用project.json來恢復文件,而不是使用packages.xml – Tseng

回答

0

我已經習慣了TypeConverterSystem。我捅了一圈NuGet,發現確實有一個程序集,System.ComponentModel.TypeConverter作爲.NET Core的一部分。安裝該軟件包解決了我的問題。

相關問題