Síntomas
Cuando utiliza una solución de espacio aislado o un elemento web, puede recibir los mensajes de error que se asemejan a los siguientes en los registros del Sistema de registro unificado de SharePoint (ULS). Estos mensajes indican que algunas soluciones de espacio aislado o elementos web están bloqueados.
Para SharePoint Foundation 2013 y SharePoint Enterprise Server 2016 con la actualización de seguridad de mayo de 2022 instalada:
Id. del evento |
Mensaje |
ajrme |
Error al ejecutar la llamada a ExecuteRequestInSandBox. System.ArgumentException: El tipo no se puede resolver en Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Obtener mensaje de error para la excepción System.ArgumentException: Type was not resolvable at Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Para SharePoint Foundation 2013 con la actualización de seguridad de junio de 2022 o una actualización de seguridad posterior instalada y para SharePoint Enterprise Server 2016 con la actualización de seguridad de julio de 2022 o una actualización de seguridad posterior instalada:
Id. del evento |
Mensaje |
6k389 |
Tipo no válido: type=XXXXX; assembly=YYYY, en SPUserCodeSerializationBinder. Visite https://go.microsoft.com/fwlink/?LinkId=2196531 para obtener más información y aprender a resolver este error. |
ajrme |
Error al ejecutar la llamada a ExecuteRequestInSandBox. System.ArgumentException: El tipo no se puede resolver en Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Obtener mensaje de error para la excepción System.ArgumentException: Type was not resolvable at Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Causa
A partir de la actualización de seguridad de mayo de 2022, el servicio de espacio aislado de SharePoint restringe aún más los tipos y ensamblados que permite ejecutar de forma predeterminada.
Solución
Para solucionar este problema, debe registrar los tipos o ensamblados de terceros que el servicio de espacio aislado de SharePoint permitirá que se ejecuten. Para ello, siga estos pasos:
-
Para SharePoint Foundation 2013, instale la actualización de seguridad de junio de 2022 o una actualización de seguridad posterior. Para SharePoint Enterprise Server 2016, instale la actualización de seguridad de julio de 2022 o una actualización de seguridad posterior.
-
Utilice la solución o el elemento web del espacio aislado afectado para activar el problema.
-
Abra el registro ULS de SharePoint y busque el ID de evento "6K389". Encontrará el siguiente mensaje con ese ID de evento:
Tipo no válido: type=XXXXX; assembly=YYYY en SPUserCodeSerializationBinder. Visite https://go.microsoft.com/fwlink/?LinkId=2196531 para obtener más información y aprender a resolver este error.
-
Tenga en cuenta los tipos y ensamblados que están bloqueados.
-
Abra el archivo web.config de la aplicación web donde se encuentran las soluciones de espacio aislado o los elementos web. La ruta de la web.config normalmente sería la siguiente:
C:\inetpub\wwwroot\wss\VirtualDirectories\<web application port> -
Añada un elemento AllowedListItems en la sección de configuración/SharePoint/SafeMode.
-
Dentro del elemento AllowedListItems, añada un elemento AllowedItem con el atributo Name establecido en AllowedSandboxType en el siguiente formato:
-
Para desbloquear tipos específicos, añada los siguientes elementos con la propiedad Type:
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/> -
Para desbloquear ensamblados específicos, añada elementos con la propiedad Assembly de la siguiente manera:
<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>
A continuación puede ver un ejemplo:
<SafeMode
MaxControls = "200"
CallStack = "false"
DirectFileDependencies ="10"
TotalFileDependencies = "250"
AllowPageLevelTrace = "false"
ControlCompatMode="false"
>
<PageParserPaths>
</PageParserPaths>
<AllowedListItems>
<AllowedItem Name="AllowedSandboxType" Type="Microsoft.SharePoint.Portal.WebControls.RSSAggregatorWebPart, Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
<AllowedItem Name="AllowedSandboxType" Assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
</AllowedListItems>
</SafeMode>