Comment récupérer la propriété LoaderException?

Je reçois un message d'erreur lors de la mise à jour de ma référence de service:

outil Personnalisé avertissement: Impossible de charger un ou plusieurs des types requis. Récupérez la propriété LoaderExceptions pour plus d'informations.

Comment puis-je récupérer la propriété LoaderException?

Update: Mes erreurs ont disparu lorsque j'ai réimporté les projets d'objets de domaine. Je n'ai aucune idée de pourquoi cela a résolu le problème, mais je suis heureux que cela fonctionne.

108
demandé sur rozon 2011-01-12 12:26:49

4 réponses

try
{
  // load the assembly or type
}
catch (Exception ex)
{
  if (ex is System.Reflection.ReflectionTypeLoadException)
  {
    var typeLoadException = ex as ReflectionTypeLoadException;
    var loaderExceptions  = typeLoadException.LoaderExceptions;
  }
}
125
répondu KBoek 2016-02-06 23:45:09
catch (ReflectionTypeLoadException ex)
{        
    foreach (var item in ex.LoaderExceptions)
    {
          MessageBox.Show(item.Message);                    
    }
}

Je suis désolé d'avoir ressuscité un ancien thread, mais je voulais poster une solution différente pour extraire l'exception loader (en utilisant L'Exception ReflectionTypeLoadException réelle) pour que quelqu'un d'autre rencontre cela.

67
répondu Jacob Saylor 2015-09-29 03:02:05

Une autre Alternative pour ceux qui sondent et / ou en mode interactif:

$ Erreur[0].Exception.LoaderExceptions

Remarque: [0] saisit l'Erreur la plus récente à partir de la pile

0
répondu techsaint 2018-02-13 19:05:16

En utilisant Quick Watch dans Visual Studio, vous pouvez accéder aux LoaderExceptions de ViewDetails de l'exception levée comme ceci:

($exception).LoaderExceptions
0
répondu hugo4711 2018-05-29 08:20:38