Symptom
När du använder en lösning eller webbdel i begränsat läge kan du få felmeddelanden som liknar följande i SharePoint ULS-loggar (Unified Logging System). Dessa meddelanden anger att vissa begränsade lösningar eller webbdelar är blockerade.
För SharePoint Foundation 2013 och SharePoint Enterprise Server 2016 med säkerhetsuppdateringen från maj 2022 installerad:
Händelse-ID |
Meddelande |
ajrme |
ExecuteRequestInSandBox-anropet misslyckades. System.ArgumentException: Typ kunde inte matchas hos Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Hämtar felmeddelande för undantagssystem.ArgumentException: Typ kunde inte matchas hos Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
För SharePoint Foundation 2013 med säkerhetsuppdateringen i juni 2022 eller en senare säkerhetsuppdatering installerad och för SharePoint Enterprise Server 2016 med säkerhetsuppdateringen i juli 2022 eller en senare säkerhetsuppdatering installerad:
Händelse-ID |
Meddelande |
6k389 |
Ogiltig typ: type=XXXXX; assembly=YYYYY, i SPUserCodeSerializationBinder. Gå till https://go.microsoft.com/fwlink/?LinkId=2196531 om du vill ha mer information och information om hur du löser det här felet. |
ajrme |
ExecuteRequestInSandBox-anropet misslyckades. System.ArgumentException: Typ kunde inte matchas hos Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Hämtar felmeddelande för undantagssystem.ArgumentException: Typ kunde inte matchas hos Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Orsak
Från och med säkerhetsuppdateringen i maj 2022 begränsar SharePoint sandbox-tjänsten ytterligare de typer och sammansättningar som tillåts köras som standard.
Lösning
För att åtgärda det här problemet måste du registrera tredjepartstyper eller sammansättningar som SharePoint sandbox-tjänsten tillåter att köras. Gör så här:
-
För SharePoint Foundation 2013 installerar du säkerhetsuppdateringen för juni 2022 eller en senare säkerhetsuppdatering. Installera säkerhetsuppdateringen för juli 2022 eller en senare säkerhetsuppdatering för SharePoint Enterprise Server 2016.
-
Använd den påverkade sandlådelösningen eller webbdelen för att utlösa problemet.
-
Öppna SharePoint ULS-loggen och leta efter händelse-ID:t "6K389". Följande meddelande visas med det händelse-ID:et:
Ogiltig typ: type=XXXXX; assembly=YYYYY i SPUserCodeSerializationBinder. Gå till https://go.microsoft.com/fwlink/?LinkId=2196531 om du vill ha mer information och information om hur du löser det här felet.
-
Observera de typer och sammansättningar som är blockerade.
-
Öppna den web.config filen i webbprogrammet där sandlådelösningar eller webbdelar finns. Sökvägen till web.config skulle vanligtvis se ut så här:
C:\inetpub\wwwroot\wss\VirtualDirectories\<webbprogramport> -
Lägg till elementet AllowedListItems i avsnittet konfiguration/SharePoint/SafeMode.
-
I elementet AllowedListItems lägger du till ett AllowedItem-element med attributet Name inställt på AllowedSandboxType i följande format:
-
Om du vill häva blockeringen av vissa typer lägger du till element med egenskapen Typ på följande sätt:
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/> -
Om du vill häva blockeringen av specifika sammansättningar lägger du till element med egenskapen Assembly enligt följande:
<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>
Följande är ett exempel:
<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>