2015-05-18 61 views
0

當我使用的是現有的T4模板,我最後一次使用大約6個月前,我不知道任何東西已經改變。但是,當我保存模板文件時,我沒有看到以下例外情況:FileNotFoundException異常轉化T4模板

初始化變換對象時生成了錯誤。 轉換將不會運行。引發以下異常: System.IO.FileNotFoundException:無法加載文件或程序集 'T4Toolbox,Version = 11.0.0.0,Culture = neutral, PublicKeyToken = dc4a538672a7b38f'或其依賴項之一。 系統找不到指定的文件。文件名: 'T4Toolbox, 版本= 11.0.0.0,文化=中性公鑰= dc4a538672a7b38f'

服務器堆棧跟蹤:在 System.Reflection.RuntimeAssembly._nLoad(的AssemblyName文件名,字符串 的代碼庫,證據assemblySecurity ,RuntimeAssembly locationHint, StackCrawlMark & stackMark,IntPtr的pPrivHostBinder,布爾 throwOnFileNotFound,布爾forIntrospection,布爾 suppressSecurityChecks)...

的報頭我的tt文件是:

<#@ template language="C#" debug="True" #> 
<#@ output extension="cs" #> 
<#@ include file="T4Toolbox.tt" #> 
<#@ assembly name="System.Core" #> 
<#@ import namespace="System.IO" #> 
<#@ assembly name="System.Xml"#> 
<#@ assembly name="System.Linq"#> 
<#@ assembly name="$(TargetPath)" #> 
<#@ import namespace="System.Xml" #> 
<#@ import namespace="System.Diagnostics" #> 
<#@ import namespace="System.Linq" #> 
<#@ import namespace="System.Collections.ObjectModel" #> 
<#@ import namespace="MyNamespace" #> 
<#@ parameter name="className" type="System.String" #> 

我檢查了工具>擴展和更新,我安裝了版本11.8.0.0。

還有什麼我可以檢查?

回答

0

好了,我發現了事情的原委。看起來T4 Toolbox對哪個帳戶通過Visual Studio安裝了T4 Toolbox Extension很敏感。

在我們的開發環境中,我們使用的開發兩個用戶帳戶,一個與提升權限。看來T4 Toolbox Extension是使用一個帳戶安裝的,我試圖將它與其他帳戶一起使用。

所以只是爲別人誰遇到這個問題提醒一句,確保推廣安裝使用正確的帳戶,作爲擴展不會跨越多個帳戶,即使它顯示爲正確安裝。

或可選擇地做,因爲我沒有和卸載它。然後使用所需的帳戶安裝它。