Я получаю сообщение об ошибке при обновлении ссылки на мою службу:
Предупреждение настраиваемого инструмента: невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительных сведений.
Как я могу получить свойство LoaderException?
Обновление: мои ошибки исчезли, когда я повторно импортировал проекты объекта домена. Понятия не имею, почему это устранило проблему, но я рад, что она работает.
Ответы:
источник
try...catch
вокруг всего своегоInstaller.cs
класса, и ничего! Мой код не выдает этого при запуске, только когда я пытаюсь запустить установщик. Кто-нибудь знает, как получить свойство LoaderExceptions для получения дополнительной информации? Например, перейти в папку и просмотреть файл журнала?catch (ReflectionTypeLoadException ex) { var typeLoadException = ex as ReflectionTypeLoadException; var loaderExceptions = typeLoadException.LoaderExceptions; }
catch (ReflectionTypeLoadException ex) { var loaderExceptions = ex.LoaderExceptions; }
. Кроме того, если вы не ожидаете, что приведение завершится неудачно и не проверит значение null, лучше выполнить прямое приведение, чтобы оно завершилось неудачей сразу, а не позже с исключением нулевой ссылки:var typeLoadException = (ReflectionTypeLoadException)ex;
Мне очень жаль, что я воскресил старую ветку, но хотел опубликовать другое решение, чтобы вытащить исключение загрузчика (используя фактическое исключение ReflectionTypeLoadException), чтобы кто-нибудь еще столкнулся с этим.
источник
Используя Quick Watch в Visual Studio, вы можете получить доступ к LoaderExceptions из ViewDetails сгенерированного исключения следующим образом:
источник
LoaderExceptions
, поскольку она действительно содержит соответствующую информацию.Еще одна альтернатива для тех, кто исследует и / или в интерактивном режиме:
Примечание: [0] берет самую последнюю ошибку из стека.
источник