2016-12-28 66 views
1

我试图从我的appsettings.json文件导入System.Type作为设置对象的一部分。物体的进口精的休息,但是当我添加一个System.Type属性我设置对象,我得到以下异常:是否可以从.net核心应用程序中的appsettings.json文件导入System.Type?

“System.InvalidOperationException”类型的异常出现在Microsoft.Extensions.Configuration.Binder。 dll但未在用户代码中处理

附加信息:无法将'MyType'转换为键入'System.Type'。

我appsettings.json是类似于:

"Settings": { 
    "Url": "some url", 
    "Type: "MyType" 
} 

我设置对象的样子:

public class Settings 
{ 
    public string Url {get; set;} 
    public Type Type {get; set;} 
} 

我Startup.cs含有使用该绑定的设置:

var foo = Configuration.GetSection("Settings").Get<Settings>(); // This is where the exception occurs. 

显然,配置绑定器正在读取在MyType作为一个字符串,并不知道如何将其转换为System.Type。是否可以在活页夹级别执行此操作,还是需要进行一些反射,以便在使用该字符串的位置将该字符串变为System.Type

+1

你能告诉我们你正在尝试使用的代码吗? –

+0

@RobertColumbia新增。 – Necoras

+0

我想你不能用System.Type来做到这一点。您可以使用另一个对象(类)而不是Type。 – Mehmet

回答

0

这目前不支持。配置库do not support从JSON文档中提取类型。

我通过添加辅助设置文件并使用Json.NET导入该特定配置对象来解决此问题。

相关问题