Ознаки
Під час використання ізольованого програмного середовища рішення або веб-частини, може з'явитися повідомлення про помилку, подібні до наведених нижче у SharePoint журнали системи уніфікованого журналювання (ULS). Ці повідомлення вказують на те, що деякі рішення для ізольованого програмного середовища або веб-частини заблоковано.
Для SharePoint Foundation 2013 і SharePoint Enterprise Server 2016 з інстальованим оновленням системи безпеки за травень 2022 р.
Код події |
Повідомлення |
ajrme |
Помилка виклику ExecuteRequestInSandBox. System.ArgumentException: тип не вдалося розпізнати в корпорації Майкрософт. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Отримання повідомлення про помилку для exception 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, щоб отримати додаткові відомості та дізнатися, як виправити цю помилку. |
ajrme |
Помилка виклику ExecuteRequestInSandBox. System.ArgumentException: тип не вдалося розпізнати в корпорації Майкрософт. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Отримання повідомлення про помилку для exception System.ArgumentException: Тип не вдалося розпізнати в корпорації Майкрософт. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Причина
Починаючи з оновлення системи безпеки за травень 2022 р., служба ізольованого програмного середовища SharePoint також обмежує типи та складання, які вона дозволяє за замовчуванням запускати.
Спосіб вирішення
Щоб вирішити цю проблему, потрібно зареєструвати типи або складання сторонніх виробників, які служба ізольованого програмного середовища SharePoint дозволить запуск. Для цього виконайте описані нижче дії.
-
Для SharePoint Foundation 2013 інсталюйте оновлення системи безпеки за червень 2022 р. або пізніше оновлення системи безпеки. Для SharePoint Enterprise Server 2016 інсталюйте оновлення системи безпеки за липень 2022 р. або пізніше оновлення системи безпеки.
-
Використайте рішення або веб-частину ізольованого програмного середовища, що впливає, щоб ініціювати цю проблему.
-
Відкрийте журнал SHAREPOINT ULS і знайдіть ідентифікатор події "6K389". Ви знайдете таке повідомлення з таким ідентифікатором події:
Неприпустимий тип: type=XXXXX; assembly=YYYYY in SPUserCodeSerializationBinder. Відвідайте https://go.microsoft.com/fwlink/?LinkId=2196531, щоб отримати додаткові відомості та дізнатися, як виправити цю помилку.
-
Зверніть увагу на типи та складання, які блокуються.
-
Відкрийте web.config файл веб-застосунку, де розташовано рішення для ізольованого програмного середовища або веб-частини. Шлях web.config зазвичай має такий вигляд:
C:\inetpub\wwwroot\wss\VirtualDirectories\<порт веб-застосунку> -
Додайте елемент AllowedListItems до розділу конфігурація/SharePoint/SafeMode.
-
Усередині елемента AllowedListItems додайте елемент AllowedItem з атрибутом Name ( Тип_імені) у такому форматі:
-
Щоб розблокувати певні типи, додайте елементи з властивістю 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>