Korumalı alan çözümü veya web bölümü (KB5015556) kullandığınızda "Tür çözülemedi" hatası

Uygulandığı Öğe
SharePoint Foundation 2013 SP1 SharePoint Server 2016

Belirtiler

Bir korumalı alan çözümü veya web bölümü kullanırken, SharePoint Birleşik Günlük Sistemi (ULS) günlüklerinde aşağıdakine benzer hata iletileri alabilirsiniz. Bu iletiler, bazı korumalı alan çözümlerinin veya web bölümlerinin engellendiğini gösterir.

Mayıs 2022 güvenlik güncelleştirmesinin yüklü olduğu SharePoint Foundation 2013 ve SharePoint Enterprise Server 2016 için:

Olay Kimliği İleti
ajrme Bilginize: ExecuteRequestInSandBox çağrısı başarısız oldu. System.ArgumentException: Tür Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) adresinde çözümlenemedi
at
…...
ajlz0 Bilginize: System.ArgumentException özel durumu için hata iletisi alınıyor: Tür Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) adresinde çözümlenemedi
at
…...

Haziran 2022 güvenlik güncelleştirmesi veya sonraki bir güvenlik güncelleştirmesi yüklenmiş SharePoint Foundation 2013 için ve Temmuz 2022 güvenlik güncelleştirmesi veya sonraki bir güvenlik güncelleştirmesi yüklenmiş SharePoint Enterprise Server 2016 için:

Olay Kimliği İleti
6K389 Serisi Bilginize: Geçersiz tür: type=XXXXX; assembly=YYYYY, SPUserCodeSerializationBinder içinde. Daha fazla bilgi edinmek ve bu hatayı nasıl çözeceğinizi öğrenmek için https://go.microsoft.com/fwlink/?LinkId=2196531 ziyaret edin.
ajrme Bilginize: ExecuteRequestInSandBox çağrısı başarısız oldu. System.ArgumentException: Tür Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) adresinde çözümlenemedi
at
…...
ajlz0 Bilginize: System.ArgumentException özel durumu için hata iletisi alınıyor: Tür Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) adresinde çözümlenemedi
at
…...

Neden

Mayıs 2022 güvenlik güncelleştirmesinden itibaren SharePoint korumalı alan hizmeti, varsayılan olarak çalıştırılmasına izin verdiği türleri ve derlemeleri daha da kısıtlar.

Çözüm

Bu sorunu çözmek için, SharePoint korumalı alan hizmetinin çalıştırılmasına izin verdiği üçüncü taraf türleri veya derlemeleri kaydetmeniz gerekir. Bunu yapmak için aşağıdaki adımları izleyin:

  1. SharePoint Foundation 2013 için Haziran 2022 güvenlik güncelleştirmesini veya sonraki bir güvenlik güncelleştirmesini yükleyin. SharePoint Enterprise Server 2016 için Temmuz 2022 güvenlik güncelleştirmesini veya sonraki bir güvenlik güncelleştirmesini yükleyin.

  2. Sorunu tetiklemek için etkilenen korumalı alan çözümünü veya web bölümünü kullanın.

  3. SharePoint ULS günlüğünü açın ve olay kimliği "6K389"u arayın. Bu olay kimliğini içeren aşağıdaki iletiyi bulacaksınız:

    Not

    Geçersiz tür: type=XXXXX; assembly=YYYYY in SPUserCodeSerializationBinder. Daha fazla bilgi edinmek ve bu hatayı nasıl çözeceğinizi öğrenmek için https://go.microsoft.com/fwlink/?LinkId=2196531 ziyaret edin.

  4. Engellenen türleri ve derlemeleri not alın.

  5. Korumalı Alan Çözümleri'nin veya web bölümlerinin bulunduğu web uygulamasının web.config dosyasını açın. web.config yolu genellikle aşağıdakine benzer:

    C:\inetpub\wwwroot\wss\VirtualDirectories\<web uygulaması bağlantı noktası>

  6. configuration/SharePoint/SafeMode bölümüne AllowedListItems öğesi ekleyin.

  7. AllowedListItems öğesinin içine, Name özniteliği aşağıdaki biçimde AllowedSandboxType olarak ayarlanmış bir AllowedItem öğesi ekleyin:

  • Belirli türlerin engellemesini kaldırmak için, Type özelliğine sahip öğeleri aşağıdaki gibi ekleyin:

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

  • Belirli derlemelerin engellemesini kaldırmak için, Assembly özelliğine sahip öğeleri aşağıdaki gibi ekleyin:

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

Aşağıda bir örnek verilmiştir:

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