Applies ToSharePoint Foundation 2013 SP1 SharePoint Server 2016

Проблемы

При использовании SharePoint решения песочницы или веб-части в журналах единой системы ведения журналов (ULS) могут появиться сообщения об ошибках, аналогичные приведенным ниже. Эти сообщения указывают, что некоторые изолированные решения или веб-части заблокированы.

Для SharePoint Foundation 2013 и SharePoint Enterprise Server 2016 с установленным обновлением безопасности за май 2022 г.: 

ИД события

Сообщение

ajrme

Сбой вызова ExecuteRequestInSandBox. System.ArgumentException: тип не был разрешен в Корпорации Майкрософт. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) В ......  

ajlz0

Получение сообщения об ошибке для исключения System.ArgumentException: тип не был разрешен в Корпорации Майкрософт. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) В ......

Для SharePoint Foundation 2013 с установленным обновлением для системы безопасности за июнь 2022 г. или более поздней версии, а для SharePoint Enterprise Server 2016 с обновлением системы безопасности за июль 2022 г. или более поздним обновлением системы безопасности:

ИД события

Сообщение

6k389

Недопустимый тип: type=XXXXX; assembly=YYYYY, в SPUserCodeSerializationBinder. Дополнительные https://go.microsoft.com/fwlink/?LinkId=2196531 и способы устранения этой ошибки см. в https://go.microsoft.com/fwlink/?LinkId=2196531.

ajrme

Сбой вызова ExecuteRequestInSandBox. System.ArgumentException: тип не был разрешен в Корпорации Майкрософт. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) В ......

ajlz0

Получение сообщения об ошибке для исключения System.ArgumentException: тип не был разрешен в Корпорации Майкрософт. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) В ......

Причина

Начиная с обновления системы безопасности за май 2022 г., служба SharePoint песочницы дополнительно ограничивает типы и сборки, которые можно запускать по умолчанию. 

Решение 

Чтобы устранить эту проблему, необходимо зарегистрировать типы или сборки сторонних производителей, которые будет SharePoint песочницы. Для этого выполните следующие действия:

  1. Для SharePoint Foundation 2013 установите обновление безопасности за июнь 2022 г. или более позднее обновление безопасности. Для SharePoint Enterprise  Server 2016 установите обновление безопасности за июль 2022 г. или более позднее обновление для системы безопасности. 

  2. Используйте затронутую песочницу или веб-часть, чтобы активировать проблему. 

  3. Откройте журнал SharePoint ULS и найдите идентификатор события 6K389. Вы найдете следующее сообщение с этим идентификатором события: 

    Недопустимый тип: type=XXXXX; assembly=YYYYY in SPUserCodeSerializationBinder. Дополнительные https://go.microsoft.com/fwlink/?LinkId=2196531 и способы устранения этой ошибки см. в https://go.microsoft.com/fwlink/?LinkId=2196531.

  4. Обратите внимание на типы и сборки, которые блокируются. 

  5. Откройте web.config веб-приложения, в котором находятся решения песочницы или веб-части. Путь к web.config обычно выглядит следующим образом: C:\inetpub\wwwroot\wss\VirtualDirectories\<порт веб-приложения>

  6. Добавьте элемент AllowedListItems в раздел configuration/SharePoint/SafeMode.  

  7. Внутри элемента AllowedListItems добавьте элемент AllowedItem с атрибутом Name , для которого задано значение AllowedSandboxType в следующем формате:

  • Чтобы разблокировать определенные типы, добавьте элементы со свойством Type следующим образом: <AllowedItem Name="AllowedSandboxType" Type="XXXXX"/>

  • Чтобы разблокировать определенные сборки, добавьте элементы со свойством Assembly следующим образом:<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>

Ниже приведен пример.

<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> 

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.