2011-01-12 175 views
98

サービス参照の更新中にエラーメッセージが表示されます。LoaderExceptionプロパティを取得する方法は?

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

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

更新:ドメインオブジェクトプロジェクトを再インポートすると、私のエラーはなくなりました。なぜこの問題が修正されたのか分かりませんが、うまくいきました。

+4

これをどのように修正できましたか? 「ドメインオブジェクトプロジェクトを再インポートする」とはどういう意味ですか? – Entrodus

+0

はい............ – rozon

答えて

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

+1

私はこの警告/エラーを経験している他の人にとって最も役立つと思っています。 – rozon

+3

私はこのソリューションを使用しようとしていますが、実際にtryブロックをラップするWCFサービスのエントリポイントがありません。 – Jordan

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

私は古いスレッドを復活させるために残念だけど、誰がこれに遭遇する(実際ReflectionTypeLoadExceptionを使用した)ローダ例外を引っ張って別のソリューションを投稿したかったです。

+0

+1解決済み問題が発生しました – Rippo

+2

Winのサービスを実行している場合(私のように)、UI要素が自動的にブロックされるため、MessageBoxは表示されません。残りの実装は役に立ちました。代わりにログファイルに保存するだけです。ありがとう。 – Vippy

+0

"catchステートメントにステートメントブロックがありません"。神様、私はパワーシェルが嫌いです。 – Owl

0

および/または対話モードで周りのプロービングされている人のための別の代替:

$エラー[0] .Exception.LoaderExceptions

注:[0]最新のグラブスタックからのエラー

関連する問題