【发布时间】:2016-12-10 22:32:41
【问题描述】:
我正在尝试在控制台应用程序中使用 ASP.NET Core 配置(特别是 Microsoft.Extensions.Configuration.Json)。当我调用IConfigurationRoot.Bind() 时,它会为程序集System.ComponentModel.TypeConverter 引发FileNotFound 异常。
据我所知,TypeConverter 位于 System 程序集的 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或net452更改并从依赖项中删除Microsoft.NETCore.App包。 .NET Core 应用程序使用 project.json 来恢复文件,而不是 packages.xml
标签: asp.net configuration asp.net-core strong-typing assembly-loading