如何检索LoaderExceptions属性?

问题描述 投票:0回答:4

我在更新服务参考时收到错误消息:

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

如何检索 LoaderExceptions 属性?

更新:当我重新导入域对象项目时,我的错误消失了。我不知道为什么这解决了问题,但我很高兴它有效。

c# .net wcf
4个回答
161
投票
try
{
  // load the assembly or type
}
catch (Exception ex)
{
  if (ex is System.Reflection.ReflectionTypeLoadException)
  {
    var typeLoadException = ex as ReflectionTypeLoadException;
    var loaderExceptions  = typeLoadException.LoaderExceptions;
  }
}

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

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


11
投票

使用 Visual Studio 中的快速监视,您可以从抛出的异常的 ViewDetails 访问 LoaderException,如下所示:

($exception).LoaderExceptions

2
投票

对于那些正在探索和/或处于交互模式的人来说,另一种选择:

$Error[0].Exception.LoaderExceptions

注意:[0]从堆栈中获取最新的Error

© www.soinside.com 2019 - 2024. All rights reserved.