0

У меня есть приложение для окон, в котором я пытаюсь использовать плагин (библиотека классов). В коде я загружаю сборку из DLL-файла, а это значит, что я не смог отладить. Кроме того, я не узнал, как скомпилировать библиотеку, поэтому мне пришлось использовать отладочную версию dll для тестирования. Я столкнулся с ошибкой, в которой я создаю новый объект и отправляю эти данные через интерфейс к плагину, пытаясь извлечь пустое поле группы слайдов из плагина. Однако вместо того, чтобы читать параметр как новый объект, мне удалось один раз выполнить код (не спрашивайте меня, как я не знаю, и я не смог его повторить), и оказалось, что код регистрировался параметр как «ничего», поэтому я получил ошибку нулевой ссылки в основной программе.Проблемы с отладкой библиотеки классов библиотеки

Есть ли лучший способ отладить этот механизм и выяснить, где проблема? Любые идеи о том, что может быть проблемой. Поскольку я читаю это, это кажется несколько расплывчатым, и я не уверен, как его описать, но я готов провести встречу сейчас, если кто-то захочет посмотреть, что происходит, и я не понимаю себя очень хорошо.

ответ

0

Итак, проблема заключалась в том, что в любое время, когда вы редактируете библиотеку классов, которую вы должны скомпилировать (и единственный способ, которым я знаю, как отлаживать, я не могу найти кнопку компиляции, и кнопка публикации не работает и здание, похоже, не делает dll). Но в любом случае вам нужно скомпилировать, перенести файл, чтобы вы читали самую последнюю. Если вы редактируете код во время выполнения, он НЕ обновляет используемую библиотеку dll ... это была моя проблема.

+0

Ах, да, у меня была эта проблема, когда я делал C++ COM dll, также используя интерфейсы и т. Д. Building должно создавать DLL, хотя, «Ctrl + Shift + B». –

+0

Куда вы их размещаете? – Assimilater

1

Я не уверен, что я точно слежу за тем, что вы делаете, но я обычно считаю, что лучший способ отладки библиотеки классов находится в решении для библиотеки классов. Я добавляю новый проект, либо WinForms one или Консоли, затем я устанавливаю этот новый проект как проект запуска и добавляю ссылку на проект библиотеки классов (через вкладку «Проект» в диалоговом окне «Добавить ссылку»).

После этого вы сможете вызвать методы из библиотеки классов из другого проекта, и вы можете установить точки останова в любом месте, чтобы увидеть, что действительно происходит.

+0

Я не уверен, что полностью понимаю, что вы имеете в виду. Добавление ссылки на плагин позволит мне вызывать функции из заглушки, но это не позволит мне создать экземпляр плагина ... насколько мне известно. Библиотека классов реализуется как плагин и не передает правильную информацию, насколько мне известно ... Часть моей задачи: я действительно не знаю, как лучше объяснить, что происходит, поэтому, если это не уточняет, я хотел бы знать, можно ли организовать встречу для совместного использования рабочего стола? – Assimilater

+0

Я не уверен, что если плагин является определенным термином, когда дело доходит до .Net, я просто предположил, что вы просто имели в виду dll, но теперь я предполагаю, что вы имеете в виду, что вы динамически загружаете DLL и, вероятно, получаете доступ к нему через интерфейсы и т. Д. Либо Кстати, я бы подумал, что вы сможете сделать F5 для входа в код dll, но прошло довольно много времени, так как я сделал любую динамическую загрузку, поэтому я мог что-то забыть. Извините, у меня нет на это времени. –

+0

Ну, ты прав, что я сейчас делаю. Но, похоже, это не позволяет мне пройти через код. – Assimilater

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

  • Нет связанных вопросов^_^