Pogreška "Vrsta nije bila raznošljiva" prilikom korištenja rješenja sigurnosne ograde ili web-dijela (KB5015556)

Primjenjuje se na
SharePoint Foundation 2013 SP1 SharePoint Server 2016

Simptomi

Kada koristite rješenje ili web-dio sigurnosne ograde, u zapisnicima ULS-a (engl. Unified Logging System) sustava SharePoint (ULS) mogu se prikazati poruke o pogreškama slične sljedećima. Te poruke upućuju na blokiranje nekih rješenja sigurnosne ograde ili web-dijelova.

Za SharePoint Foundation 2013 i SharePoint Enterprise Server 2016 s instaliranim sigurnosnim ažuriranjem za svibanj 2022.:

ID događaja Poruka
ajrme Napomena: Poziv ExecuteRequestInSandBox nije uspio. System.ArgumentException: Vrsta nije bila razrješavanje na servisu Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)
at
…...
ajlz0 Napomena: Prikaz poruke o pogrešci za iznimku System.ArgumentException: Type was not resolvable at Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)
at
…...

Za SharePoint Foundation 2013 s instaliranim sigurnosnim ažuriranjem za lipanj 2022. ili novijim sigurnosnim ažuriranjem te za SharePoint Enterprise Server 2016 sa sigurnosnim ažuriranjem za srpanj 2022. ili novijim instaliranim sigurnosnim ažuriranjem:

ID događaja Poruka
6k389 Napomena: Vrsta nije valjana: type=XXXXX; assembly=YYYY, in SPUserCodeSerializationBinder. Posjetite https://go.microsoft.com/fwlink/?LinkId=2196531 da biste saznali više i saznali kako ispraviti tu pogrešku.
ajrme Napomena: Poziv ExecuteRequestInSandBox nije uspio. System.ArgumentException: Vrsta nije bila razrješavanje na servisu Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)
at
…...
ajlz0 Napomena: Prikaz poruke o pogrešci za iznimku System.ArgumentException: Type was not resolvable at Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName)
at
…...

Uzrok

Počevši od sigurnosnog ažuriranja iz svibnja 2022., servis sigurnosne ograde sustava SharePoint dodatno ograničava vrste i sklopove koje dopušta za pokretanje prema zadanim postavkama.

Rješenje

Da biste riješili taj problem, morate registrirati vrste ili skupove drugih proizvođača čije pokretanje dopušta servis sigurnosne ograde sustava SharePoint. Slijedite korake u nastavku.

  1. Za SharePoint Foundation 2013 instalirajte sigurnosno ažuriranje za lipanj 2022. ili novije sigurnosno ažuriranje. Za SharePoint Enterprise Server 2016 instalirajte sigurnosno ažuriranje za srpanj 2022. ili novije sigurnosno ažuriranje.

  2. Upotrijebite impvatno rješenje ili web-dio sigurnosne ograde da biste pokrenuli problem.

  3. Otvorite zapisnik ULS-a sustava SharePoint i potražite ID događaja "6K389". S tim ID-om događaja pronaći ćete sljedeću poruku:

    Napomena

    Vrsta nije valjana: type=XXXXX; assembly=YYYYY u SPUserCodeSerializationBinder. Posjetite https://go.microsoft.com/fwlink/?LinkId=2196531 da biste saznali više i saznali kako ispraviti tu pogrešku.

  4. Obratite pozornost na vrste i sklopove koji su blokirani.

  5. Otvorite web.config datoteku web-aplikacije u kojoj se nalaze rješenja sigurnosne ograde ili web-dijelovi. Put web.config obično izgleda ovako:

    C:\inetpub\wwwroot\wss\VirtualDirectories\<port web-aplikacije>

  6. Dodajte element AllowedListItems u odjeljak Configuration/SharePoint/SafeMode.

  7. Unutar elementa AllowedListItems dodajte element AllowedItem s atributom Name postavljenim na AllowedSandboxType u sljedećem obliku:

  • Da biste deblokirali određene vrste, dodajte elemente sa svojstvom Type na sljedeći način:

    <AllowedItem Name="AllowedSandboxType" Type="XXXXX"/>

  • Da biste deblokirali određene sklopove, dodajte elemente sa svojstvom Assembly na sljedeći način:

    <AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>

Slijedi primjer:

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