2008-09-28 12 views
5

¿Cómo depura el código de SharePoint 2007? Como SharePoint se ejecuta en un servidor remoto y estoy desarrollando en una máquina de Windows XP (con los archivos .dll necesarios copiados en mi GAC), no he tenido mucha suerte con la búsqueda de formas fáciles de depuración. Los puntos de interrupción no funcionan, etc.Depuración de SharePoint 2007 Código

La mejor manera que he encontrado es habilitar el seguimiento de páginas en el archivo web.config, escribir mensajes de seguimiento en todo mi código y acceder a trace.axd cada vez que necesito depurar .

¿Alguien tiene alguna sugerencia mejor para la depuración? ¿Me estoy perdiendo de algo? "¿Por qué no se están viendo afectadas mis puntos de interrupción ?!?!":

Respuesta

3

De Andrew Connell's blog post sobre el tema:

Fijación del depurador a GAC'd asambleas ¿Has estado alguna vez allí? Me también ... ¡qué PITA es eso! ¿Qué está haciendo ? Bien, los ensamblados están en , el GAC y el depurador de Visual Studio no pueden ver los símbolos de depuración (también conocidos como: * .pdb). A menos que haya tenido la molestia de configurar un almacén de símbolos donde se encuentren todos sus PDB, deberá colocar los símbolos de depuración en en la misma ubicación que el conjunto. El truco es encontrar la carpeta que contiene su DLL en el GAC.

La carpeta c: \ windows \ assembly no es una carpeta real, es una carpeta virtual. Para llegar a la carpeta REAL, hacer lo siguiente:

  • Inicio »Ejecutar
  • % SystemRoot% \ assembly \ GAC [ENTER]

Esto abrirá la carpeta GAC. Ahora, hurgar hasta encontrar una carpeta que tiene este aspecto (es posible que necesidad de saltar hasta una carpeta y buceo en la carpeta MSIL): [assembly archivo nombre -.DLL extensión] [versión de montaje en formato de > #. #. #. #] __ [token de clave pública de ensamblaje].

Cuando encuentre esa carpeta, ábrala y verá su ensamblaje. Copie el archivo PDB a esa carpeta y luego conecte el depurador para depurarlo ¡alegría!

+0

También puede depurar montajes en el GAC de una máquina remota cuando se conecta a un proceso, siempre que ese PDB esté en el directorio de salida de su máquina local del proyecto actual. Depuro en ensambles MOSS en el GAC en máquinas remotas todo el tiempo sin copiar el PDB en el GAC. –

1

Recomiendo que desarrolle en un servidor de Windows 2003 con Sharepoint. Es una molestia depurar en un servidor remoto. Puede hacerlo en una máquina virtual con VMWare o Virtual PC, si tiene XP en su estación de trabajo.

1

La máquina virtual es el único camino a seguir. No desea dedicar una máquina completa a dev (a menos que tenga extras) y desarrollar en su servidor de producción es solo un problema. Prefiero VMWare, pero hay otros que funcionan igual de bien.

El seguimiento funciona bien, ya que la depuración normal no es realmente una opción.

Lo que más hago es intentar desarrollar toda la lógica (las cosas que no dependen de SharePoint) en un sitio asp.net normal, y luego integrarlo en SharePoint después de que haya sido probado.

Espero que tenga sentido.

¿Estás hablando de desarrollar piezas web? Páginas personalizadas ¿Algo más?

+0

Erm: utilizar máquinas virtuales no es relevante para la pregunta original (aunque son muy útiles) – Ryan

+0

¿Por qué la depuración normal no es realmente una opción? Parece que lo hago bastante bien todo el tiempo :) –

+0

Lo sé, solo pensé en tirar eso allí. Estaba explicando que trato de hacer mi depuración en mi entorno normal que no es de SharePoint (Visual Studio) ya que la depuración en el entorno SP es difícil. – naspinski

3

La mejor manera (incluso la respaldada por Microsoft) es tener un servidor de Windows 2003 con Sharepoint como su máquina de desarrollo local.

Véase también this topic.

2

No coloque los ensamblajes en el GAC, colóquelos en el directorio bin; a continuación, puede usar el depurador remoto VS. Google crea archivos .WSP para su distribución.

Esto también tiene la ventaja de que es más fácil copiar sus nuevas compilaciones en el servidor después de la compilación (paso posterior a la compilación) y también es la forma recomendada de aumentar la seguridad.

+0

A veces, no realizar un ensamblaje no es una gran opción. Especialmente cuando estás hablando de tener que volver a trabajar tu WSP y volver a desplegarlo. esto puede ser un proceso doloroso si solo estás tratando de depurar un error único que no puedes encontrar de otra manera (un problema que estoy teniendo). –

Cuestiones relacionadas