viernes, 27 de mayo de 2011

Errores al eliminar objetos programando en SharePoint 2010

La eliminación es la tarea de liberar los recursos que consumen los objetos. Esta tarea es esencial en el código no administrado, como C + +. Sin embargo, la mayoría de las veces cuando estás construyendo soluciones NET, no tienes que preocuparte de la recolección de basura. Un excelente recolector de basura integrado se hará cargo de eso por ti.

Eso no es así en todos los casos con SharePoint. Algunos objetos en SharePoint están fuera de la comodidad del código administrado de .NET. Es necesario eliminar estos objetos manualmente... bueno, al menos la mayoría de las veces... y bajo ciertas condiciones.

Los dos objetos de este tipo más comunes son SPWeb y SPSite. Desafortunadamente, estos son también objetos de uso común. De hecho detrás de muchos escenarios, puede haber más objetos SPWeb de lo que uno  cree.

La noticia todavía peor es que en algunos casos, cuando eliminar los objetos puede causar fallos en otras partes de SharePoint que son completamente ajenos a todo lo que está haciendo.

No obstante, no hay que preocuparse demasiado por ello. Por suerte, Microsoft ha publicado una buena guía de orientación acerca de este tema y una herramienta que hace más llevadera la pesadilla de eliminar objetos manualmente.

SPDisposeCheck es una herramienta que ayuda a los desarrolladores y administradores a comprobar que las soluciones SharePoint personalizadas, que usan el modelo de objetos de SharePoint, cumplen con las buenas prácticas en la tarea de recolección manual de basura.

Os dejo también un enlace a la guía, en inglés.
Guía: Best Practices: Using Disposable Windows SharePoint Services Objects

jueves, 26 de mayo de 2011

Error al cargar la plantilla TaxonomyPicker en SharePoint 2010.

Síntomas:En el visor de eventos aparece el siguiente error:

Error al cargar el archivo de plantilla de control /_controltemplates/TaxonomyPicker.ascx: No se puede cargar el tipo 'Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker' del ensamblado'Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'.

Solución:
Ir a  C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES,


Abrir TaxonomyPicker.ascx con el notepad.

Localizar la ocurrencia $#44; y cambiarla por una coma. Guardar y salir.