Как добавить исходные файлы во внешние библиотеки? - PullRequest
2 голосов
/ 06 февраля 2011

Существует проект, написанный на C #, который использует некоторые внешние библиотеки. Это подписанные библиотеки (с версией, ключом) и обычно зарегистрированные в GAC.

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

Существуют библиотеки, которые имеют ссылку друг на друга (поэтому они ожидают конкретную версию с ключом)

Как я могу подготовить библиотеки к отладке с возможностью просмотра исходного кода?

Является ли единственной возможностью добавить источники библиотек DLL в проект (снова скомпилировать) и сослаться на него в моем приложении?

Ответы [ 3 ]

4 голосов
/ 07 февраля 2011

Сначала настройте сервер символов .Это позволяет вашему отладчику загружать файлы pdb для библиотек.Это будет работать даже для сборок в GAC.

Далее, исходный индекс файлов pdb .Это внедряет информацию в файлы pdb, позволяя отладчику извлекать источник с вашего исходного сервера (например, Mercurial, SVN, TFS).

Итак, вам в конечном итоге понадобится исходный сервер и сервер символов,добавив несколько шагов к процессу сборки.

0 голосов
/ 06 февраля 2011

Если доступно, добавьте символы отладки (файл .pdb) указанной сборки в одну папку со сборкой.

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

Для сборки с закрытым исходным кодом вы можете спросить поставщика, доступен ли исходный код, или попросить отладочную компиляцию с файлом .pdb.

0 голосов
/ 06 февраля 2011

Вы не можете отлаживать библиотеку при развертывании, вы можете использовать обработку исключений и ведение журнала для отслеживания событий во время выполнения. Или вы можете использовать новую Intellitrace (http://msdn.microsoft.com/en-us/library/dd264915.aspx) in для отслеживания выполнения.

...