我在我的网络应用程序上有一个内部报告,当我浏览到它时,本地按预期显示。我使用rdlc
和xsd
标准apsx
网页来呈现报告。
我现在已部署到我的登台服务器,当我尝试浏览显示我收到的报告的页面时:
An unexpected error occurred in Report Processing.
Could not load file or assembly 'Microsoft.SqlServer.Types, Version=11.0.0.0, 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)
在本地,我通过浏览到
添加了对Microsoft.SqlServer.Types
的引用
C:\的Windows \组件\ GAC_MSIL \ Microsoft.SqlServer.Types \ 11.0.0.0__89845dcd8080cc91
我已将其设置为Copy Local
并且可以在登台服务器上的bin文件夹中看到.dll
,但是我仍然收到错误消息。
出于兴趣,我从本地计算机复制了.dll
,并将其ftp到登台服务器并进入bin文件夹。然后它暂时工作,直到我做了另一次提交,擦除bin文件夹并返回错误。
就像临时服务器操作系统上Microsoft.SqlServer.Types
的版本已经过时了?
这里发生了什么?
答案 0 :(得分:12)
如果您确定dll位于bin文件夹中,它可能正在寻找one of its dependencies
。
您是否尝试删除引用并添加以下NuGet包,而不是从GAC引用?
答案 1 :(得分:10)
对我来说同样的问题,但问题是app.config中的绑定重定向尚未更新到新版本。通常更新nuget包会自动执行,但是这个nuget包在引用的项目中。简单修复:
<?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-11.0.0.0" newVersion="11.0.0.0" /> -->
<bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
答案 2 :(得分:1)
遇到了同样的问题,即在升级Visual Studio和Sql Server实例后出现的问题。
重新安装 SQLSysClrtypes.msi 和 ReportViewer.msi 软件包后,问题已经解决,可以下载here
希望它可以帮助别人。
答案 3 :(得分:0)
通过使用以下代码,我无法在新工作站上编译我的程序
<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-14.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
问题?微软默认提供的SQL Express服务器在此期间从2017年更改为2019年,我从没注意到,所以必须 newVersion 设置为 newVersion =“ 15.0.0.0” 。
答案 4 :(得分:0)
我复制了文件
<块引用>My_Solution_Dir)\packages\Microsoft.SqlServer.Types.14.0.314.76\lib\net40\Microsoft.SqlServer.Types.dll
进入“/bin”目录。 我的问题解决了。
答案 5 :(得分:-1)
我遇到了同样的问题,安装nuget包后,从中复制Microsoft.SqlServer.Types.dll C:\ WINDOWS \装配\ GAC_MSIL \ Microsoft.SqlServer.Types 到我的主机Web服务器中我的Web应用程序的BIN文件夹。