Trending Issue: BCS type is not in the BCSAllowedTypeNames generic list after August 2026 CU

After installing the August 2026 Cumulative Update (CU) for SharePoint, some Business Connectivity Services (BCS) models may stop working.

Symptoms

Following installation of the August 2026 CU, BCS external content types or BCS-based solutions may fail. The issue is typically reflected in the ULS logs with entries similar to the following:

Business Connectivity Services   Business Data   36px6   Unexpected   BCS type 'Nullable`1' in namespace 'System' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not in the 'BCSAllowedTypeNames' generic list. To permit this type, add entry 'Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Nullable`1' to the 'BCSAllowedTypeNames' generic list.

Business Connectivity Services   Business Data   36px4   Unexpected   BCS type 'Nullable`1' in namespace 'System' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is being blocked.

Business Connectivity Services   Business Data   36px6   Unexpected   BCS type 'SecureStoreProvider' in namespace 'Microsoft.Office.SecureStoreService.Server' from assembly 'Microsoft.Office.SecureStoreService, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429' is not in the 'BCSAllowedTypeNames' generic list. To permit this type, add entry 'Assembly=Microsoft.Office.SecureStoreService, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.SecureStoreService.Server|TypeName=SecureStoreProvider' to the 'BCSAllowedTypeNames' generic list.

Business Connectivity Services   Business Data   36px4   Unexpected   BCS type 'SecureStoreProvider' in namespace 'Microsoft.Office.SecureStoreService.Server' from assembly 'Microsoft.Office.SecureStoreService, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429' is being blocked.

The affected type may vary depending on the BCS model being used. Any type that is not explicitly permitted will be blocked and corresponding 36px6 and 36px4 events will be logged.

Cause

This behavior is by design.

Starting with the August 2026 CU, SharePoint applies additional validation to the .NET types that can be used by BCS models. Only types explicitly included in the farm’s BCSAllowedTypeNames allow list are permitted. Types that are not present in this list are blocked to provide additional protection against potentially unsafe type usage.

When a blocked type is encountered, SharePoint records a 36px6 ULS event containing the exact value that must be added to the allow list if that type is required by the environment.

Solution

Review the 36px6 events in the ULS log and determine whether the blocked type is expected and required for your BCS solution.

If the type is required, add the value suggested in the log entry to the BCSAllowedTypeNames generic allow list.

For example, to allow the two types shown in the examples above, run the following PowerShell commands:

$farm = Get-SPFarm

$farm.AddGenericAllowedListValue("BCSAllowedTypeNames", "Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Nullable`1")

$farm.AddGenericAllowedListValue("BCSAllowedTypeNames", "Assembly=Microsoft.Office.SecureStoreService, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.SecureStoreService.Server|TypeName=SecureStoreProvider")

$farm.Update()

Important: Only add types that are required by your BCS solution and that you trust. The allow list is intended to give farm administrators explicit control over which types can be used by BCS models.

The values can be copied directly from the instructions provided in the 36px6 ULS events, ensuring that the correct assembly, namespace, and type name are added to the allow list.

25 Comments


  1. Her er en forbedret og mer naturlig formulert versjon:

    Hi Stefan,

    After adding the first value, the event disappeared from the Event Log. However, after adding the second value, the event is still being logged.

    I have already run $farm.Update() and verified that the entry exists in the allow list.

    Is there any delay before the second entry takes effect, or is there anything else I should do?

    Regards,
    Rune

    Reply

    1. Hi Rune,
      both values should be active within seconds when the value is replicated to the config cache on each server in the farm.
      Cheers,
      Stefan

      Reply

  2. Hi,

    if you are crawling BCS, then you need to add addtional types:

    $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TopicPagesConnector”)
    $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Object”)
    $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataReader”)
    $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty”)
    $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataRecord”)

    also, after adding these types, you need to restart search. It is not enough to restart search hot controller, you need to restart both services as mssdmn.exe is doing the execute on BCS.

    You can restart search services by using the script (cmdlets taken from Stefan script for installing CU)
    $restartOSearch16 = $false
    $restartSPSearchHostController = $false

    $srvOSearch16 = Get-Service “OSearch16”
    $srvSPSearchHostController = Get-Service “SPSearchHostController”

    if ($srvOSearch16.Status -eq “Running”)
    {
    Write-Host -ForegroundColor Yellow “- OSearch16”
    }
    if ($srvSPSearchHostController.Status -eq “Running”)
    {
    Write-Host -ForegroundColor Yellow “- SPSearchHostController”
    }

    if ($srvOSearch16.Status -eq “Running”)
    {
    $restartOSearch16 = $true
    Write-Host “Stopping OSearch16 service…”
    $srvOSearch16.Stop()
    $srvOSearch16.WaitForStatus(“Stopped”)
    }

    if ($srvSPSearchHostController.Status -eq “Running”)
    {
    $restartSPSearchHostController = $true
    Write-Host “Stopping SPSearchHostController service…”
    $srvSPSearchHostController.Stop()
    $srvSPSearchHostController.WaitForStatus(“Stopped”)
    }

    $srvOSearch16 = Get-Service “OSearch16”
    $srvSPSearchHostController = Get-Service “SPSearchHostController”

    Start-sleep -Seconds 10

    if ($srvSPSearchHostController.Status -ne “Running” -and $restartSPSearchHostController)
    {
    Write-Host “Start SPSearchHostController service…”
    $srvSPSearchHostController.Start()
    $srvSPSearchHostController.WaitForStatus(“Running”)
    }

    if ($srvOSearch16.Status -eq “Running” -and $restartOSearch16)
    {
    Write-Host “Start OSearch16 service…”
    $srvOSearch16.Start()
    $srvOSearch16.WaitForStatus(“Running”)
    }

    after restarting search, wait few minutes before starting incremental crawl on your BCS.

    Reply

    1. Stefan –
      I’m having some issues restarting the services. I noticed some hidden characters are embedded when copying from this article. But besides that, is this section of code correct? All of the other sections are using -ne “Running”.
      if ($srvOSearch16.Status -eq “Running” -and $restartOSearch16)

      p.s. It’s the same way in the Install-SPSE_Fix.ps1 I copied from your other article. I was hoping this explained why the SearchHostController keeps needed to be restarted again in order to see the topology. Does the OSearch now need to be started before the SearchHostController (I think this started for me after the May update).

      Reply

      1. Hi Marlene,

        what Robi posted needs to read ‘-ne “Running”‘.
        Seems to be copied from an older version of my script which contained this bug.

        Cheers,
        Stefan

        Reply

  3. We ran the following

    $farm = Get-SPFarm
    $farm.AddGenericAllowedListValue(„BCSAllowedTypeNames“, „Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataReader“)
    $farm.Update()

    $farm = Get-SPFarm
    $farm.AddGenericAllowedListValue(„BCSAllowedTypeNames“, „Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataRecord“)
    $farm.Update()

    It fixed the issue for the IDataReader but not for the IDataRecord we are still getting the following errror even after iisreset and reboot.

    08/14/2026 15:06:28.29 w3wp.exe (WWWMAD0A6549:0x2FD0) 0x2DDC Business Connectivity Services Business Data 36px6 Unexpected BCS type ‚IDataRecord‘ in namespace ‚System.Data‘ from assembly ‚System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘ is not in the ‚BCSAllowedTypeNames‘ generic list. To permit this type, add entry ‚Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataRecord‘ to the ‚BCSAllowedTypeNames‘ generic list. ee4031a2-ff8c-c0d9-ee09-a9385314739e

    08/14/2026 15:06:28.29 w3wp.exe (WWWMAD0A6549:0x2FD0) 0x2DDC Business Connectivity Services Business Data 36px4 Unexpected BCS type ‚IDataRecord‘ from assembly ‚System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘ is being blocked. ee4031a2-ff8c-c0d9-ee09-a9385314739e

    Reply

    1. Hi Scott,
      in this case I would recommend to open a support case to get this investigated.
      Cheers,
      Stefan

      Reply

  4. After the August update, the crawl is now getting 6 errors (previously it was 0.) ‘Error while crawling LOB contents”. More specifically: “Error while crawling LOB contents. (Error caused by exception: System.Reflection.TargetInvocationException Exception has been thrown by the target of an invocation.; SearchID = …”.

    The Business Data Connectivity app (BDC) service is not installed.
    We are only crawling the main URL site and the sps3s:// for the site.
    We are not using mysites.

    I gave the crawl accounts a few more permissions and re-ran a full crawl, but no change.
    I’ll start digging into the logs when I get some time. I was wondering if anyone else was seeing the same thing.

    Reply

    1. The logs showed “BCS type ‘TopicPagesConnector’ in namespace ‘Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector’ from assembly ‘Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ is not in the ‘BCSAllowedTypeNames’ generic list. To permit this type, add entry ‘Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TopicPagesConnector’ to the ‘BCSAllowedTypeNames’ generic list.”

      I added the AddGenericAllowedListValue, restarted the search services and resetIIS for the farm. The error remains.

      Reply

      1. Hi Marlene,

        You need to add several to crawl BCS
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TopicPagesConnector”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Object”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataReader”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataRecord”)

        Reply

        1. Thanks for the assistance. I ended up adding a total of 15 and I finally have no errors. Yea!
          TIP: Resetting IIS on all the servers and restarting the search services seemed to work best when the crawl was idle. Otherwise, there were times I had to cancel the crawl because it hung and/or restart the services in the GUI.
          TIP: If the same error was in the log as before, Restart the services again. (Maybe because initially, I was resetting IIS after I restarted the services.)

          The 15 items are:
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Nullable“1”) #Escape the backtick by entering it 2x

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TopicPagesConnector”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Object”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataReader”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataRecord”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty[]”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.SecureStoreService, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.SecureStoreService.Server|TypeName=SecureStoreProvider”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyRootWeb”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyRootWeb[]”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty[]”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Byte[]”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyWeb”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyWeb[]”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyTerm”)

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyTerm[]”)

          Have a blessed day! (This took me most of the day to figure out.)

          Reply

          1. I probably only needed the same 14 as William. The line with TypeName=Nullable … wasn’t in my error log, but I added it earlier on based on other’s comments.


  5. My Search crawler is running into this issue when trying to crawl the term store

    BCS type ‘TaxonomyProperty[]’ in namespace ‘Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector’ from assembly ‘Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ is not in the ‘BCSAllowedTypeNames’ generic list. To permit this type, add entry ‘Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty[]’ to the ‘BCSAllowedTypeNames’ generic list.

    I already added “TaxonomyProperty” to the BCSAllowedTypeNames, but i am still getting the error for the array TaxonomyProperty[]. If I try to add TaxonomyProperty[] to the BCSAllowedTypeNames, my Search Service Application dies with the “Unable to retrieve topology” error. It wasn’t until i use RemoveGenericAllowedListValue for TaxonomyProperty[] did the topology error go away.

    Anyone know how to add the TaxonomyProperty[] to the BCSAllowedTypeNames?

    Reply

    1. Hi William,

      just copy the exact string from the Event:

      $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty[]”)

      Cheers,
      Stefan

      Reply

      1. Thanks Stefan.

        Just a quick update for everyone who might also be encountering this issue, so far, i’ve ran

        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TopicPagesConnector”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Object”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataReader”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataRecord”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.SecureStoreService, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.SecureStoreService.Server|TypeName=SecureStoreProvider”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty[]”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyRootWeb”)
        $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyRootWeb[]”)

        And I still have not fixed my issue of the search crawler not able to read the friendly url in the taxonomy term store. There’s likely more data type i’ll need to add to the Allow list, but this is taking a long time to discover because each property, i need to restart Search Host Controller and Search 16 services, and then run an incremental crawl and grab the ULS logs.

        What is making it worse is that every restart of Search Host Controller has the risk of causing the “Unable to retrieve topology component health states. This may be because the admin component is not up and running” which requires me to restart the Search Host Controller several times to fix. So right now each new data type takes about 10 – 30 minutes to discover.

        Reply

        1. For everyone suffering with this issue with Search Crawler x Taxonomy term store, here’s all the powershell commands i used to fix the issue

          $farm = Get-SPFarm

          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TopicPagesConnector”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Object”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataReader”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataRecord”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=Microsoft.Office.SecureStoreService, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.SecureStoreService.Server|TypeName=SecureStoreProvider”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyProperty[]”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyRootWeb”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyRootWeb[]”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Byte[]”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyWeb”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyWeb[]”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyTerm”)
          $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”,”Assembly=Microsoft.Office.Server.Search.Connector, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.Server.Search.Connector.BDC.TopicPagesConnector|TypeName=TaxonomyTerm[]”)

          $farm.Update()

          And then i restarted SharePoint Search Host Controller and SharePoint Search 16 services.

          Reply

  6. While entering the value for “mscorlib”, make sure that the backtick in “TypeName=Nullable`1” is stored in the list correctly. The correct way is to escape it by doubling the backtick (not sure if it is displayed doubled here):

    $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, “Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Nullable“1”)

    Use $farm.GetGenericAllowedListValues(“BCSAllowedTypeNames”) for getting the stored list values.

    Reply

    1. It seems that the doubled backtick was converted into a quotation mark in the AddGenericAllowedListValue above.

      Reply

  7. Stefan,

    We have a similar type of problem. The ULS message is:

    DocumentId/GetProvider: Assembly ‘Microsoft.Office.DocumentManagement, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ is not in the farm allowlist ‘AllowedDLCAssemblies’. Blocked. Farm Admin must add it via SPFarm.AddGenericAllowedListValue to allow loading.

    Can you please advice how to add it?

    Thank you.
    Rafal

    Reply

    1. Hi Rafal
      this should resolve theisue:

      $farm = Get-SPFarm
      $farm.AddGenericAllowedListValue("AllowedDLCAssemblies","Microsoft.Office.DocumentManagement, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c")
      $farm. Update()
      

      Cheers,
      Stefan

      Reply

  8. hope to help someone: the backtick is issue in my case.

    to fix it: use the single quote to add the type entry. such as:

    $farm.AddGenericAllowedListValue(“BCSAllowedTypeNames”, ‘Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Nullable`1’)

    Reply

  9. hello,
    I have a quick comment.
    I was able to add the types using the syntax below, I used simple quotes :

    The problem is solved.

    $farm=get-spfarm
    $farm.AddGenericAllowedListValue(‘BCSAllowedTypeNames’, ‘Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataReader’)
    $farm.AddGenericAllowedListValue(‘BCSAllowedTypeNames’, ‘Assembly=System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System.Data|TypeName=IDataRecord’)
    $farm.AddGenericAllowedListValue(‘BCSAllowedTypeNames’, ‘Assembly=Microsoft.Office.SecureStoreService, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c|Namespace=Microsoft.Office.SecureStoreService.Server|TypeName=SecureStoreProvider’)
    $farm.AddGenericAllowedListValue(‘BCSAllowedTypeNames’, ‘Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Nullable`1’)
    $farm.AddGenericAllowedListValue(‘BCSAllowedTypeNames’, ‘Assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Namespace=System|TypeName=Object’)
    $farm.update()
    iisreset

    Reply

  10. Hi Stefan,

    after the August update we are trying to import a model and get this error:

    BCS type ‘ContractDocument[]’ in namespace ‘BCSServiceProxy’ from assembly ‘t0tn0tcs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’ is not in the ‘BCSAllowedTypeNames’ generic list. To permit this type, add entry ‘Assembly=t0tn0tcs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null|Namespace=BCSServiceProxy|TypeName=ContractDocument[]’ to the ‘BCSAllowedTypeNames’ generic list.

    The problem is the assembly that gets generated with different name every import, so we cannot put it in the allowed list. Is this a bug or is there a way around this?

    Reply

    1. Hi Petri,
      I have not seen this. Usually customers integrate a fixed assembly. I’m not even sure how to configure a dynamically generated assembly for this.
      Can you please clarify how you defined/configured this?
      Cheers,
      Stefan

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.