Otrzymuję komunikat o błędzie podczas aktualizowania numeru referencyjnego usługi:
Ostrzeżenie narzędzia niestandardowego: nie można załadować co najmniej jednego z żądanych typów. Aby uzyskać więcej informacji, pobierz właściwość LoaderExceptions.
Jak mogę pobrać właściwość LoaderException?
Aktualizacja: moje błędy zniknęły, gdy ponownie zaimportowałem projekty obiektów domeny. Nie mam pojęcia, dlaczego to rozwiązało problem, ale cieszę się, że działa.
Odpowiedzi:
źródło
try...catch
wokół całej mojejInstaller.cs
klasy i nic! Mój kod nie zgłasza tego, gdy jest uruchomiony, tylko wtedy, gdy próbuję uruchomić Instalatora. Czy ktoś wie, jak pobrać właściwość LoaderExceptions, aby uzyskać więcej informacji? Podoba Ci się, przejść do folderu i wyświetlić plik dziennika?catch (ReflectionTypeLoadException ex) { var typeLoadException = ex as ReflectionTypeLoadException; var loaderExceptions = typeLoadException.LoaderExceptions; }
catch (ReflectionTypeLoadException ex) { var loaderExceptions = ex.LoaderExceptions; }
. Ponadto, jeśli nie spodziewasz się, że rzutowanie się nie powiedzie i będzie sprawdzać, czy nie ma wartości null, lepiej wykonać rzut bezpośredni, aby zakończył się niepowodzeniem natychmiast, a nie później, z wyjątkiem zerowego odniesienia:var typeLoadException = (ReflectionTypeLoadException)ex;
Przepraszam za wskrzeszenie starego wątku, ale chciałem opublikować inne rozwiązanie, aby wyciągnąć wyjątek modułu ładującego (przy użyciu rzeczywistego ReflectionTypeLoadException), aby ktokolwiek inny mógł się z tym spotkać.
źródło
Korzystając z funkcji Quick Watch w programie Visual Studio, można uzyskać dostęp do LoaderExceptions z ViewDetails z rzuconego wyjątku w następujący sposób:
źródło
LoaderExceptions
, ponieważ w rzeczywistości zawierają one istotne informacje.Kolejna alternatywa dla tych, którzy szukają informacji w pobliżu i / lub w trybie interaktywnym:
Uwaga: [0] pobiera najnowszy błąd ze stosu
źródło