如何检索LoaderException属性?

时间:2011-01-12 09:26:50

标签: c# .net wcf

我在更新服务引用时收到错误消息:

自定义工具警告:无法加载一个或多个请求的类型。检索LoaderExceptions属性以获取更多信息。

如何检索LoaderException属性?

更新:当我重新导入域对象项目时,我的错误消失了。我不知道为什么这会解决这个问题,但我很高兴它正在发挥作用。

4 个答案:

答案 0 :(得分:133)

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

答案 1 :(得分:72)

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

我很抱歉复活旧线程,但是想发布一个不同的解决方案来拉动加载器异常(使用实际的ReflectionTypeLoadException)让其他人遇到这个问题。

答案 2 :(得分:1)

在Visual Studio中使用Quick Watch,您可以从抛出的异常的ViewDetails中访问LoaderExceptions,如下所示:

($exception).LoaderExceptions

答案 3 :(得分:0)

那些正在探索和/或以交互方式进行探索的人的另一种选择:

  

$错误[0] .Exception.LoaderExceptions

注意: [0]从堆栈中获取最新错误