Отладка кода SharePoint 2007
Как вы отлаживаете код SharePoint 2007? Поскольку SharePoint работает на удаленном сервере, а я занимаюсь разработкой на компьютере с Windows XP (с необходимыми файлами.dll, скопированными в мой GAC), мне не очень повезло с поиском простых способов отладки. Точки останова не работают и т. Д.
Лучший способ, с помощью которого я пришел, - включить трассировку страниц в файле web.config, писать сообщения трассировки по всему коду и обращаться к trace.axd всякий раз, когда мне нужно отладить.
У кого-нибудь есть лучшие предложения по отладке? Я что-то пропустил?
5 ответов
Из поста Эндрю Коннелла в блоге на эту тему:
Присоединение отладчика к сборкам GAC: "Почему мои контрольные точки не попадают?!?!" Ты когда-нибудь был там? Я тоже... что это за пита! В чем дело? Хорошо, сборки находятся в GAC, и отладчик Visual Studio не может видеть символы отладки (иначе: *.pdb). Если у вас не возникли проблемы с настройкой хранилища символов, куда собираются все ваши PDB, вам нужно будет поместить символы отладки в то же место, что и сборка. Хитрость заключается в том, чтобы найти папку, содержащую вашу DLL в GAC.
Папка c:\windows\assembly - это не настоящая папка, это виртуальная папка. Чтобы попасть в папку REAL, сделайте следующее:
- Пуск "Выполнить
- %systemroot%\assembly\gac [ENTER]
Это откроет папку GAC. Теперь покажитесь, пока не найдете папку, которая выглядит следующим образом (вам может понадобиться перейти на одну папку и погрузиться в папку MSIL): [имя файла сборки -.DLL расширение][версия сборки в формате > #.#.#.#]__[токен открытого ключа сборки].
Когда вы найдете эту папку, откройте ее, и вы увидите свою сборку. Скопируйте файл PDB в эту папку, а затем присоедините отладчик для радости отладки!
Лучший способ (даже одобренный Microsoft) - это использовать Windows 2003 Server с Sharepoint в качестве локальной машины для разработки.
Смотрите также эту тему.
Не помещайте свои сборки в GAC, помещайте их в каталог bin - тогда вы можете использовать удаленный отладчик VS. Google создает.WSP файлы для распространения.
Это также имеет то преимущество, что его проще копировать на сервер после компиляции (шаг после сборки), а также рекомендуемый способ повышения безопасности.
Я рекомендую вам разрабатывать на сервере Windows 2003 с Sharepoint. Это хлопотно для отладки на удаленном сервере. Вы можете сделать это на виртуальной машине с VMWare или Virtual PC, если у вас есть XP на вашей рабочей станции.
Виртуальная машина - единственный путь. Вы не хотите выделять всю машину для разработки (если у вас нет дополнений), а разработка на вашем производственном сервере просто напрашивается на неприятности. Я предпочитаю VMWare, но есть и другие, которые работают так же хорошо.
Трассировка работает хорошо, так как нормальная отладка на самом деле не вариант.
Что еще я делаю, это пытаюсь разработать всю логику (то, что не зависит от SharePoint) только на обычном сайте asp.net, а затем интегрировать его в SharePoint после того, как он протестирован.
Надеюсь, что это имеет смысл.
Вы говорите о разработке веб-частей? Пользовательские страницы? Что-то другое?