Débogage du code SharePoint 2007
-
02-07-2019 - |
Question
Comment déboguez-vous votre code SharePoint 2007? Étant donné que SharePoint fonctionne sur un serveur distant et que je développe sur une machine Windows XP (avec les fichiers .dll nécessaires copiés dans mon compte GAC), je n'ai pas eu beaucoup de chance avec la recherche de méthodes simples de débogage. Les points d'arrêt ne fonctionnent pas, etc.
La meilleure façon que j'ai trouvée est d'activer le traçage de page dans le fichier web.config, d'écrire des messages de traçage dans tout mon code et d'accéder à trace.axd chaque fois que je dois déboguer.
Quelqu'un a-t-il de meilleures suggestions pour le débogage? Est-ce que je manque quelque chose?
La solution
De Article de blog d'Andrew Connell sur le sujet:
Association du débogueur à GAC'd assemblées: "Pourquoi mes points d'arrêt ne sont-ils pas être touché?!?! " Es-tu déjà aller là? Moi aussi ... quel pita! C'est quoi passe? Eh bien, les assemblées sont en le GAC et le débogueur Visual Studio ne peut pas voir les symboles de débogage (aka: * .pdb). Sauf si vous avez eu la peine de créer un magasin de symboles où tous vos PDB vont, vous besoin de mettre les symboles de débogage au même endroit que l'assemblée. le Le truc est de trouver le dossier contient votre DLL dans le GAC.
Le dossier c: \ windows \ assembly n'est pas un vrai dossier, c'est un dossier virtuel. Pour accéder au dossier REAL, faites le suivant:
- Démarrer & # 187; Exécuter
- % systemroot% \ assembly \ gac [ENTRER]
Ceci ouvrira le dossier GAC. Maintenant, fouillez jusqu'à ce que vous trouviez un dossier qui ressemble à ceci (vous pourriez besoin de sauter d'un dossier et de la plongée dans le dossier MSIL): [fichier d'assemblage name -.DLL extention] [assembly version au format de > #. #. #. #] __ [jeton de clé publique d'assemblage].
Lorsque vous trouvez ce dossier, ouvrez-le et vous verrez votre assemblée. Copier le Fichier PDB dans ce dossier, puis attachez le débogueur pour un peu de débogage joie!
Autres conseils
La meilleure façon (même celle approuvée par Microsoft) est d’avoir un serveur Windows 2003 avec Sharepoint comme ordinateur de développement local.
Voir aussi ce sujet .
Ne placez pas vos assemblages dans le GAC, mais dans le répertoire bin. Vous pouvez alors utiliser le débogueur du VS à distance. Google crée des fichiers .WSP pour la distribution.
Cela présente également l'avantage qu'il est plus facile de copier vos nouvelles versions sur le serveur après la compilation (étape post-génération) et qu'il constitue également le moyen recommandé d'accroître la sécurité.
Je vous recommande de développer sur un serveur Windows 2003 avec Sharepoint. C'est un problème de déboguer sur un serveur distant. Vous pouvez le faire sur une machine virtuelle avec VMWare ou Virtual PC, si vous avez XP sur votre poste de travail.
La machine virtuelle est la seule solution. Vous ne voulez pas dédier toute une machine au développement (sauf si vous avez des extras), et le développement sur votre serveur de production ne fait que poser des problèmes. Je préfère VMWare, mais d’autres fonctionnent aussi bien.
Le traçage fonctionne bien car le débogage normal n’est pas vraiment une option.
Je cherche également à développer toute la logique (tout ce qui ne dépend pas de SharePoint) sur un site asp.net standard, puis à l'intégrer à SharePoint après après son test.
J'espère que cela a du sens.
Parlez-vous de développer des composants WebPart? Pages personnalisées? Quelque chose d'autre?