Mostrando entradas con la etiqueta WorkFlow. Mostrar todas las entradas
Mostrando entradas con la etiqueta WorkFlow. Mostrar todas las entradas

lunes, 19 de octubre de 2009

Microsoft.SharePoint.SPUser is not marked as serializable

Escenaro: Este es un error muy interesante.
Se presento en un WorkFlow muy simple, donde en el evento load del WorkFlow se guardaba los datos del usuario al que se le estaba asignado la tarea, para poder usarlo al final del proceso, los datos del usuario eran guardados en un SPUser.

Detalle :

Type 'Microsoft.SharePoint.SPUser' in Assembly 'Microsoft.SharePoint,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' is not
marked as serializable. Type 'Microsoft.SharePoint.SPUser' in Assembly
'Microsoft.SharePoint, Version=12.0.0.0

Solucion: Esto pasa cuando se hace public un variable del tipo SPUser o SPListItem. En el proceso de Hidratacion/Desidratacion estos tipos se vuelven no serializables. Es Preferible crear una clase alterna a estos objetos y usarlos, tomando las consideraciones necesarias para poder serializarlas, como contructor vacio por ejemplo.
Espero les sea de ayuda.

Event ID: 5343 ('Microsoft.SharePoint.dll' or one of its dependencies. The system cannot find the file specified)

Escenario: Este error se presento cuando se implemento un formalario infopath con codigo personalizado donde se agrego como regerencia Sharepoint.dll que nos permite acceder a los datos de Lista, Librerias y otros recursos de Sharepoint.

Detalle:

Event Type: Error
Event Source: Office SharePoint Server
Event Category: Forms Services Runtime - Business Logic
Event ID: 5343
Date: 7/17/2009
Time: 11:14:07 AM
User: N/A
Computer: PC-Marco
Description:
An exception occurred during loading of business logic. (User: Dominio\Mdiaz, Form Name: SCWFPuestoAprobacionAssociationForm, IP: , Request: http://Server2003/_layouts/CstWrkflIP.aspx?List={xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx}, Form ID: urn:schemas-microsoft-com:office:infopath:SCWFPuestoAprobacionAssociationForm:-myXSD-2009-07-17T15-36-56, Type: FileNotFoundException, Exception Message: Could not load file or assembly 'file:///C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Features\SCWFPuestoAprobacion\Forms\Microsoft.SharePoint.dll' or one of its dependencies. The system cannot find the file specified.)

Solucion:
Cuando agregemos la DLL debemos asegurarnos de poner Copy Local = False.
Tal como se muestran las imagenes.