2009-08-03 4 views
2

Я получаю «Метод не найден: исключение/ошибка Boolean MyCompany.LibraryAssembly.SomeFunction (System.String)» при запуске консольного приложения VB.NET.Метод VB.NET не найден при загрузке сборки

Метод является частью внешней сборки и определенно находится в сборке. Ошибка возникает только во время выполнения, когда я иду, чтобы ввести функцию, вызывающую метод.
У меня есть сборка, на которую ссылается мой проект, и я не копирую ее локально. Intellisense не показывает ошибок, и компилятор тоже. Я загружаю сборку статически не динамически.

Ссылка на ссылку из локальной папки (не GAC), хотя эта же версия также доступна в GAC.

Любые предложения относительно того, что я могу проверить?

ответ

2

Я нашел решение для обновления GAC снова с той же версией локальной сборки. Я сделал это, перетащив файл сборки в папку C: \ Windows \ Assembly. После этого &, а затем перестроил консольное приложение, проблема исчезла. Странно, потому что сборка в GAC уже показывала тот же номер версии, что и локальный.

1

Какая версия .NET это?

Из имени метода, похоже, что метод определен в Module?
Я нашел несколько (более старых) ссылок в сети, что функции модуля недоступны вне вашей сборки. Однако, когда я тестировал это с моим VS2008, он работал нормально.

Модули компилируются в классы NotInheritable с использованием общих методов. Попробуйте обратиться к методу, включая имя модуля/класса, и посмотреть, не изменилось ли это?

Если вы используете сильное имя сборки, загрузка с GAC имеет приоритет. Если возможно, снимите сборку с GAC, просто чтобы убедиться, что вы не используете более старую версию.

0

Попробуйте удалить ссылку & добавив его снова. При этом просто ознакомьтесь с информацией о версии .NET для объекта. Затем сравните его с версией вашего приложения.

(я думаю, GAC имеет presedence над местным folder..Not usre об этом. Пожалуйста, проверьте версию GAC Dl.)

Также проверьте, если функция доступна (она может быть защищена или внутренняя функция)

+0

Если функция была недоступна, определенная ошибка компилятора. – Thorarin

+0

Согласовано, но просто бросает некоторые идеи. –

0

Чистота и перестройка обычно решают метод не найденных исключений для меня.

0

Я думаю, что бит вашего запуска приложения содержит старую сборку. скопируйте новую сборку в корзину приложения.

Смежные вопросы