2016-12-28 36 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導入該特定配置對象來解決此問題。

相關問題