如何检索 LoaderException 属性?

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

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

如何检索 LoaderException 属性?

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

119109 次浏览
try
{
// load the assembly or type
}
catch (Exception ex)
{
if (ex is System.Reflection.ReflectionTypeLoadException)
{
var typeLoadException = ex as ReflectionTypeLoadException;
var loaderExceptions  = typeLoadException.LoaderExceptions;
}
}
catch (ReflectionTypeLoadException ex)
{
foreach (var item in ex.LoaderExceptions)
{
MessageBox.Show(item.Message);
}
}

我很抱歉重新启用了一个旧线程,但是我想发布一个不同的解决方案来拉加载程序异常(使用实际的 RefectionTypeLoadException) ,以便其他任何人遇到这个问题。

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

$Error [0] . Exception. LoaderException

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

在 VisualStudio 中使用快速监视,您可以通过 ViewDetails 访问抛出异常的 LoaderException,如下所示:

($exception).LoaderExceptions