我需要在T4模板中執行JSON模式生成,並且發現Newtonsoft的新Schema類遠遠超出手頭上的目的(在控制檯應用程序中測試過),但是,我無法似乎使它與其他球一起玩,因爲Newtonsoft的實例總是返回null。T4與第三方程序集的模板
T4聲明:
<#@ template debug="true" hostspecific="true" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="Newtonsoft.Json.dll" #>
<#@ assembly name="Newtonsoft.Json.Schema.dll" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>
集引用指向DLL文件,我在該項目的項目設置中設置文件夾的樣子起坐,截圖如下:
試圖做下面的事情,失敗,因爲Newtonsoft無法找到:
var schema = Newtonsoft.Json .Schema.JSchema.Parse(jsoncontent);
會發生錯誤是:元數據文件「Newtonsoft.Json.Schema.dll」找不到
嗨馬特,我遵循完全相同的討論,它不適合我。它最終成爲了Newtonsoft.Json.Schema的NuGet的版本,內部針對Newtonsoft.Json的v6 +進行了編譯,並且我從NuGet獲得了v7。奇怪的是,一個普通的控制檯應用程序沒有引發這個異常,只是當我想在T4中使用它時,它被引發,但不是通過傳統的異常處理,必須真正挖掘才能找到這個錯誤。從GitHub獲得了最新的.Schema,並使用版本7進行編譯,並且工作正常。謝謝 – JadedEric
我會把你發現的答案,因爲其他人可能會遇到這種情況,也許沒有找到你的解決方案的評論。 –
好點,謝謝:) – JadedEric