Microsoft.ReportViewer.Common给出“访问被拒绝”错误

问题描述:

使用.NET 4.0,我有一个利用ReportViewer对象的小型ASP.NET应用程序,我创建了一个网页,它接受一些用户输入并生成一个报告使用ProcessingMode设置为本地的ReportViewer控件显示。Microsoft.ReportViewer.Common给出“访问被拒绝”错误

当然,它在通过VS 2010以调试模式运行时运行良好,并且如果将它发布到本地机器上运行的IIS上。然而,当我把它推到生产,我得到的时候实际上是试图运行报告enter image description here

对于受损的形象出现以下错误:

Failed to load expression host assembly. Details: Could not load file or assembly 'Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied. 

我已验证的组件(以及其他reportviewer依赖项)位于GAC中。在服务器上的事件日志中似乎没有任何错误。

任何想法许可问题可能是什么?

碰巧,我正在部署的生产环境是一个Web场,虚拟目录指向网络驱动器上的一个位置。当我尝试部署到非服务器场服务器时,服务器本身有一个虚拟目录,这工作。在这两种环境中,权限是相同的,所以我只能假定有关此控件的某些内容不像位于与IIS和ASP.NET不同的框中。

我不确定这是否是一个“答案”,所以如果我从堆栈转移角度处理了这个错误,我会提前道歉。

你在IIS中使用什么身份验证? (例如windows,匿名,ASP.NET模拟)

+0

我试过使用Windows和窗体身份验证(上面的示例使用窗体)。使用Windows身份验证时出现以下错误:挂载到加载表达式主机程序集。详细信息:无法加载文件或程序集'Microsoft.ReportViewer.Common,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其某个依赖项。使用的帐户是一个计算机帐户。使用您的全局用户帐户或本地用户帐户来访问此服务器。 (从HRESULT异常:0x80070710) – seanicus 2011-04-20 14:40:49

+0

我也试过模仿,顺便说一句。 – seanicus 2011-04-20 15:24:32