2011-01-12 97 views
98

更新我的服務參考時收到錯誤消息:如何檢索LoaderException屬性?

自定義工具警告:無法加載一個或多個請求的類型。檢索LoaderExceptions屬性以獲取更多信息。

如何檢索LoaderException屬性?

更新:當我重新導入域對象項目時,我的錯誤消失了。我不知道爲什麼這解決了這個問題,但我很高興它的工作。

+4

您是如何解決這個問題的? 「重新導入域對象項目」是什麼意思? (刪除對項目的引用並重新添加它?) – Entrodus 2012-06-01 08:13:39

+0

是............ – rozon 2012-06-13 17:14:54

回答

110
try 
{ 
    // load the assembly or type 
} 
catch (Exception ex) 
{ 
    if (ex is System.Reflection.ReflectionTypeLoadException) 
    { 
    var typeLoadException = ex as ReflectionTypeLoadException; 
    var loaderExceptions = typeLoadException.LoaderExceptions; 
    } 
}
+0

我不知道編寫無故障代碼,所以服務中可能存在問題。然而,當我使用svcutil生成代碼時,我得到的代碼看起來正確,但我的類型被重用(女巫實際上是我的主要問題) – rozon 2011-01-12 11:25:45

64
catch (ReflectionTypeLoadException ex) 
{   
    foreach (var item in ex.LoaderExceptions) 
    { 
      MessageBox.Show(item.Message);      
    } 
} 

我是復活舊線程抱歉,但想後不同的解決方案,以拉動裝載機異常(使用實際ReflectionTypeLoadException)給其他人碰到這一點。

0

另一種方法爲那些誰是探測和/或在交互模式下身邊:

$錯誤[0] .Exception.LoaderExceptions

注:[0]抓住最近的來自堆棧的錯誤