I have an internal report on my web application which when I browse to it locally displays as expected. I am using a
xsd with a standard
apsx web page to render the report.
I have now deployed to my staging server and when I try to browse to the page which displays the report I am getting:
An unexpected error occurred in Report Processing. Could not load file or assembly 'Microsoft.SqlServer.Types, Version=18.104.22.168, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Locally, I have added a Reference to
Microsoft.SqlServer.Types by browsing to:
And I have set it to
Copy Local and can see the
.dll in the bin folder on the staging server, however I'm still getting the error message.
Out of interest I copied the
.dll from my local machine, and ftp'd it to the staging server and into the bin folder. It then worked, temporarily until I did another commit, which wiped the bin folder and the error returned.
Its like the version of
Microsoft.SqlServer.Types is out of date on the staging server's OS perhaps?
What's going on here?
It's probably looking for
one of its dependencies if you're sure the dll is in the bin folder.
Instead of referencing from the GAC have you tried removing the reference and adding the following NuGet package ?
Same issue for me, however the problem was that the binding redirects in the app.config had not been updated to the new version. Usually updating the nuget package does it automatically, but this nuget package was in a referenced project. Simple fix:
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings /> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> </startup> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <!-- <bindingRedirect oldVersion="0.0.0.0-22.214.171.124" newVersion="126.96.36.199" /> --> <bindingRedirect oldVersion="0.0.0.0-188.8.131.52" newVersion="184.108.40.206" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
Experienced the same issue, that has occured after upgrading of Visual Studio and Sql Server instances.
Problem has gone after reinstallation of SQLSysClrtypes.msi and ReportViewer.msi packages, that can be downloaded here
Hope it could help someone.
I couldn't get my program to compile on the new workstation, by using the following code
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-220.127.116.11" newVersion="18.104.22.168" /> </dependentAssembly> </assemblyBinding> </runtime>
The issue? The SQL Express server that Microsoft was offering by default, changed from 2017 to 2019 during that time and I never noticed, so the newVersion had to be set as newVersion="22.214.171.124".
User contributions licensed under CC BY-SA 3.0