IIS 的 Crystal 报告问题 -(bobj 未定义,Crystal 报告未显示)

问题描述 投票:0回答:3

我已经使用 VS 2010 安装了水晶报告 2010。我创建了一个水晶报告,该报告在本地主机中工作正常,但问题是一旦我将网站发布到 IIS,报告就永远不会显示。它只显示一个空白页面。我检查了我的发布文件夹甚至 .rpt 文件都不存在。任何人都可以告诉我如何解决此问题吗?

asp.net crystal-reports
3个回答
40
投票

解决方案

解决方案是这样在 IIS 上工作:

  • aspnet_client
    文件夹
    c:\inetpub\wwwroot
    文件夹复制到新网站根文件夹

或者(第一个更容易,第二个更便于维护)

  • 创建一个名为 aspnet_client
     的虚拟目录
    ,该目录指向
    c:\inetpub\wwwroot\aspnet_client
    在新网站内

问题分析

可以分析问题

  • 使用客户端工具(浏览器的调试窗口)

GET    http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js 403 (Forbidden)

GET
 http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css 403 (Forbidden)

  • 服务器工具(IIS日志,WIN2003上放在
    %SYSTEMROOT%\System32\LogFiles\W3SVC###\
    ,WIN2008上
    C:\inetpub\logs\LogFiles\W3SVC###
    )。

2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET /aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css - 20080 - 192.168.1.2 Mozilla/5.0+(兼容;+MSI E+ 9.0;+Windows+NT+6.1;+Trident/5.0) 403 6 64 错误! 2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET /aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js - 20080 - 192.168.1.2 Mozilla/5.0+(兼容;+MSIE+9.0 ;+ Windows+NT+6.1;+Trident/5.0) 403 6 64 错误!

造成问题

Crystal Reports 运行时已安装,但您的应用程序未在默认网站下运行。

  • 在这两种情况下,我发现
    crv.js
    style.css
    某些文件未提供;
  • 这些文件由 CR 安装程序放置在
    wwwroot\aspnet_client
    文件夹中,但由于某些原因无法访问;
  • 就我而言,原因是我创建了一个不同的网站(端口 20080),并且 aspnet_client 文件夹未放置在该网站内

我可以看到您使用不同版本的软件和不同的配置,但我认为您有同样的问题


4
投票

这个问题对我来说很难解决。

我的配置是VS 2010,CR 14.0.2000.0版本,Window Server 2008 R2,IIS 7。 我得到了解决方案。我几乎尝试了net中给出的所有解决方案。我已经实现了所有技巧。最后通过在 web.config 中注释以下行来显示报告。

<add key="ResourceUri" value="/crystalreportviewers13"></add>

现在正在将我安装的一一删除并检查哪些是确切需要的。

我尝试了以下所有内容:

  • 已安装 CRRuntime_32bit_13_0_4 和 CRRuntime_64bit_13_0_4 的 CR 运行时。
  • 后来我删除了 CRRuntime_32bit_13_0_4 仍然有效。
  • 将 aspnet_client 文件夹放入 WWWRoot 文件夹中。
  • 将 aspnet_client 文件夹放入我的应用程序文件夹中。

每当我执行某些操作时都会重新启动 IIS。


3
投票

这个问题的最佳答案就在这里!

http://social.msdn.microsoft.com/Forums/en-US/vscrystalreports/thread/ef56f72b-7ede-47d8-ba9e-9e63b9ac0203

  1. 您需要使用Web应用程序项目,不要使用网站项目,因为Web应用程序也会将DLL组合到项目中。
  2. 复制 C:\inetpub\wwwroot spnet_client\system_web _0_3031

© www.soinside.com 2019 - 2024. All rights reserved.