web-dev-qa-db-ja.com

LoaderExceptionプロパティを取得する方法は?

サービス参照の更新中にエラーメッセージが表示されます。

カスタムツールの警告:要求されたタイプの1つ以上をロードできません。詳細については、LoaderExceptionsプロパティを取得します。

LoaderExceptionプロパティを取得するにはどうすればよいですか?

更新:ドメインオブジェクトプロジェクトを再インポートすると、エラーがなくなりました。これで問題が解決した理由はわかりませんが、機能していることを嬉しく思います。

115
rozon
try
{
  // load the Assembly or type
}
catch (Exception ex)
{
  if (ex is System.Reflection.ReflectionTypeLoadException)
  {
    var typeLoadException = ex as ReflectionTypeLoadException;
    var loaderExceptions  = typeLoadException.LoaderExceptions;
  }
}
135
KBoek
catch (ReflectionTypeLoadException ex)
{        
    foreach (var item in ex.LoaderExceptions)
    {
          MessageBox.Show(item.Message);                    
    }
}

古いスレッドを復活させてすみませんが、別のソリューションを投稿してローダー例外をプルする(実際のReflectionTypeLoadExceptionを使用する)ことで、他の誰かがこれに遭遇することを望みました。

73
Jacob Saylor

Visual Studioのクイックウォッチを使用すると、次のように、スローされた例外のViewDetailsからLoaderExceptionsにアクセスできます。

($exception).LoaderExceptions
1
hugo4711

対話モードで、および/または対話モードでプローブしている人のための別の選択肢:

$ Error [0] .Exception.LoaderExceptions

注:[0]はスタックから最新のエラーを取得します

0
techsaint