我想使用Reflection分析T4模板內的DLL,以便可以基於反射的結果生成代碼分析。我知道EnvDTE會是一個更好的選擇,但這在我的情況下是不可能的,原因有幾個。使用反射在Visual Studio(32位)中從T4模板內分析64位DLL使用反射
與反射的問題是,該DLL是一個64位的DLL,如果我在T4模板中加載,我得到一個BadImageFormatException
,因爲我試圖將一個64位DLL加載到一個32位進程(Visual Studio 2012)。
有沒有什麼辦法可以在T4中分析那個DLL的內容,最好是使用反射?
我已經想過寫,其分析DLL控制檯應用程序,將結果寫入,然後由T4模板使用的XML文件,但這並不是真正的我最喜歡的解決方案...
順便說一句:該DLL是一個託管的C++ DLL。所以Roslyn不是選擇,因爲它只支持C#和VB)。
謝謝!這終於奏效!我已經在開始時嘗試過,但在轉換模板時遇到了一些錯誤。但是,在閱讀了一些關於ReflectionOnlyLoad的文檔之後,我發現需要手動加載所有相關的程序集。在我做完之後,它就像一個魅力! – gehho
聽到這很棒。 – FuleSnabel