Search This Blog

Wednesday, April 20, 2016

Failed to load expression host assembly. Details: Could not load file or assembly 'SrsResources

If you choose to do an in place upgrade of SQL 2012 to SQL 2014 on your SCCM server, you might see this error when trying to run a report:

Failed to load expression host assembly. Details: Could not load file or assembly 'SrsResources, Culture=neutral' or one of its dependencies. The system cannot find the file specified"

image

And in Details:

image

The best way around this error is to remove the Reporting services point and add it again after it has been removed.

But if this is in a lab, here is a quick (and dirty) workaround:

Open the old Report Server BIN folder and copy srsresources.dll and the SCCMErrorResource (folder structure) default location will be C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin when upgrading from SQL 2012.

image

And paste the file and folders to the new Report Server BIN folder as shown here:

Default location will be C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin when upgrading to SQL 2014.

image

Now locate the file rssrvpolicy.config. Default location will be C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer for your new SQL 2014 Reporting server.

image

Edit the file and change the URL for srsresources.dll to the new location (just search for srsresources.dll to find the place to change)

Change from:

              <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\srsresources.dll" />

Change it to:

              <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin\srsresources.dll" />

 

Save it and after a short wait period, try running a report again to test if its working as expected.

10 comments:

  1. Thanks a lot. its working for me.
    Ankit Mittal

    ReplyDelete
  2. Thanks works fine.

    ReplyDelete
  3. Looks like same issue going form SQL 2014 SP2 to SQL 2016 (on SCCM 1606) - its a lab so I will try work around first...

    Thanks

    ReplyDelete
  4. Ok, quick (and dirty) workaround worked if upgraded from SQL2014 to SQL2016 - (SCCM1606) just adjust version numbers in the instruction above where is says 11(SQL2012)use 12(SQL2014)and where is says 12(SQL2014) use 13(SQL2016)

    ReplyDelete
  5. Excellent post, helped me resolve my issue with SSRS reports for SCCM 1610. I upgraded from SQL 2012 to SQL 2016 followed the steps only change was from MSRS11 to MSRS13 was the only change. Thank you Lars Lohmann Blem. You are a rockstar!

    ReplyDelete
  6. Excellent post, thanks works fine.

    ReplyDelete
  7. Thanks so much this worked a treat!!

    ReplyDelete
  8. Big thanks! You probably saved me a lot of time!

    ReplyDelete
  9. Worked thanks alot, in my case had to change "MSRS11 to MSRS13" and copy srsresources.dll to "MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin\" since it was missing

    ReplyDelete