asp.net – SQL Server Reporting Services – 运行报表时出错(Azure网站部署问题?)

前端之家收集整理的这篇文章主要介绍了asp.net – SQL Server Reporting Services – 运行报表时出错(Azure网站部署问题?)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ASP.NET MVC前端,它列出了sql Azure Reporting Services上的报告.用户选择要运行的报告,并在另一个浏览器窗口中加载该报告.问题是,当报告在某些浏览器上运行时(例如,Win7上的IE10),显示的所有内容都是以下消息:
Method not found: 'Boolean Microsoft.ReportingServices.Common.DateTimeUtil.TryParseDateTime(System.String,System.IFormatProvider,System.DateTimeOffset ByRef,Boolean ByRef)'.

在Win7上使用Chrome,报告“半工作” – 我获得了顶部栏,其中包含日期时间框和另一个下拉菜单,当我单击“运行”按钮时,我会获得报告导航栏但不会显示报告正文.我没有得到上面的消息.

该网站发布到Azure网站.我引用了以下DLL并将CopyLocal设置为true:

Microsoft.ReportViewer.Common
Microsoft.ReportViewer.WebForms
Microsoft.ReportViewer.DataVisualization
Microsoft.ReportViewer.ProcessingObjectModel

发布的报告在我的dev机器上工作正常,我安装了ReportViewer 2012可再发行组件(控件的版本11).

所以,问题:

我在发布的网站上遗漏了哪些其他可再发行的dll?
什么是Microsoft.ReportingServices.Common? ‘ByRef’似乎意味着这是VB – 这是一个客户端脚本组件吗?我是否需要在客户端计算机上安装以查看报告?

解决方法

同样的问题发生在部署发生后在IE和Firefox上找不到错误方法,而在本地运行一切正常.
Method not found: 'Boolean Microsoft.ReportingServices.Common.DateTimeUtil.TryParseDateTime(System.String,Boolean ByRef)'.

发生的事情是,在我们的本地bin文件中,有一个比部署服务器更新版本的Microsoft.ReportViewer dll.当部署服务器添加了dll时,它从GAC中选择的版本与在本地使用的版本不同.版本11.0.2而不是11.0.33导致未命中匹配.将dll更新为本地计算机上的相同版本后,修复了该问题.有可能在您重新部署正确的dll后使用,修复您的问题.

要验证bin文件夹和部署文件夹中dll的版本,可以在导航到包含dll的文件夹后使用简单的power shell脚本.

dir *.dll | %{ $_.VersionInfo }

猜你在找的asp.Net相关文章