Pregunta

Tengo un problema con los sitios web de Visual Studio 2008 y SharePoint / MOSS 2007. Anteriormente teníamos 2 proyectos de aplicaciones web alojados debajo de nuestra estructura de SharePoint, pero debido a la naturaleza de los archivos del proyecto y el control de origen, estaba creando problemas en nuestro entorno de desarrollo de equipo. He decidido cambiar de aplicaciones web a sitios web para eliminar el archivo del proyecto hasta que tenga tiempo de cambiar nuestro control de origen a TFS. Todo funciona bien, sin embargo, cuando intento crear manualmente uno de los sitios web aparece el siguiente error:

Este generador de expresiones requiere SPContext para ejecutarse

Ahora, este no es un problema real, debido a la naturaleza de los sitios web y la forma en que se compilan según sea necesario al cargar. Pero es un problema para mi equipo de desarrollo, ya que realmente nos gustaría poder obtener compilaciones exitosas por varias razones.

El problema se produce mediante el uso de un generador de expresiones personalizado que utilizamos, que todavía funciona bien en tiempo de ejecución. Solo durante la compilación nos da el error.

Cualquier idea o idea sobre cómo se puede superar este problema sería muy apreciada.

Saludos,

Brendan

No hay solución correcta

Otros consejos

SPContext.Current se utiliza por muchas aplicaciones de SharePoint para determinar el contexto actual de SharePoint en el que están operando. Con los cambios realizados, esto obviamente ya no es posible en el proceso de compilación.

Una opción es crear cierta protección donde, si no se puede encontrar un SPContext válido, se crea con nuevos objetos SPSite / SPWeb según sea necesario para proporcionar ese contexto. Esto puede requerir cierta reestructuración dependiendo de cómo se diseñó el generador de expresiones, particularmente porque ahora necesitaría deshacerse correctamente de los objetos SPSite y SPWeb creados (algo que no se requiere cuando se usa SPContext).

Otra opción es utilizar un marco burlón como Typemock Isolator . Esto simulará / falsificará un SPContext. Sin embargo, necesitaría volver a diseñar el código para usar esto también, creo. En el lado positivo, puede seguir usando SPContext únicamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top