我已经安装了VS 2010的水晶报告2010.i创建了一个水晶报告,在localhost中工作正常,但问题是我将我的网站发布到IIS后,报告永远不会显示。只显示一个空白页面。我检查了我发布的文件夹,即使.rpt文件也没有。任何人都告诉我如何解决这个问题?
答案 0 :(得分:32)
解决方案是以这种方式在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)
%SYSTEMROOT%\System32\LogFiles\W3SVC###\
上的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 +(兼容; + MSIE + 9.0; + Windows + NT + 6.1; + Trident / 5.0)403 6 64 Errore! 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 Errore!
已安装Crystal Reports运行时,但您的应用程序未在默认网站下运行。
crv.js
和style.css
部分文件未送达; wwwroot\aspnet_client
文件夹中,但由于某些原因无法访问; 我可以看到你使用不同版本的软件和不同的配置,但我认为你有同样的问题。
答案 1 :(得分:3)
这个问题我很难解决。
我的配置是VS 2010,CR 14.0.2000.0版本,Window Server 2008 R2,IIS 7。 我得到了解决方案。我尝试了几乎所有的网络解决方案。我已经实施了所有技巧。最后通过在web.config中注释以下行显示报告。
<add key="ResourceUri" value="/crystalreportviewers13"></add>
现在我逐一删除我安装的内容并检查确切需要的内容。
我在下面尝试了所有内容:
当我做某事时重新启动IIS。
答案 2 :(得分:3)
这个问题的最佳答案就在这里!
复制C:\ inetpub \ wwwroot \ aspnet_client \ system_web \ 4_0_30319 \ crystalreportviewers13(当你安装-CRforVS_redist_install_32bit_13_0.exe时你会得到它)到你的项目,如(ProjectName / crystalreportviewers13)
< / LI>将以下内容复制到您的web.config
3.1
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>
</sectionGroup>
</configSections>
3.2
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
3.4使用FTP模式将您的Web应用程序发布到您的任何文件夹,然后将此发布复制到您的Web服务器,然后测试它!
答案 3 :(得分:1)
答案 4 :(得分:0)
我知道几年前有人问过这个问题。但this method对我有用。这对于那些有一天会遇到这种问题的人来说。
我在32位环境中创建了我的应用程序并更改为64位。我在IIS Web服务器(当前64位)中部署了我的Web应用程序并创建了自己的应用程序池(将“管道管道模式”集成到了集成中)。
然后,当发生此报告问题时,我按照链接中的说明进行操作。我将“管理管道模式”更改为经典,我的应用程序正常运行。
答案 5 :(得分:0)
我也面临着同样的问题,得到解决。通过IIS托管网站时,Web.config需要具有以下设置:
<add key="ResourceUri" value="~/crystalreportviewers13"/>
通过Visual Studio托管网站通过时
<add key="ResourceUri" value="/crystalreportviewers13"/>
答案 6 :(得分:0)
您可以做的其他事情是更改“虚拟访问路径”。在检查Chrome的控制台和网络视图后,我注意到应用程序未到达js
和css
资源,因为这已设置为Web项目的名称,因此将其设置为/
这就行了。
答案 7 :(得分:0)
我知道这是一个有点旧的帖子,但我认为像我这样的新手可以从中得到帮助。将此代码添加到web.config文件并将“crystalreportviewers13”文件夹从“c:\ inetpub \ wwwroot \ aspnet_client”复制到根目录
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
答案 8 :(得分:0)
在存在水晶报告的aspx文件中添加以下代码。
<script src="../../aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js" type="text/javascript" >
</script>
同时将asp.net_client文件夹从c:\ inetpub \ wwwroot文件夹复制到新网站根文件夹。
此方法解决了以下两个问题,现在工作正常
答案 9 :(得分:0)
在我的案例中,我刚刚更新了SAP crystal Reports Runtime Engine for .NET 通过应用程序和功能,我在我的开发服务器中使用了水晶报告版本18,当我将应用程序部署到另一台服务器时,我收到此错误,然后我检查了版本我没有得到版本,只有我安装了日期,所以我更新到最后一个版本......并且它已经工作了
答案 10 :(得分:0)
将此引用添加到您的母版页或渲染报告的页面中的水晶报告javascript:
<script src='<%=ResolveUrl("~/crystalreportviewers13/js/crviewer/crv.js")%>'type="text/javascript"></script>
&#13;
您可以访问以下链接了解详情:
Crystal Reports Bobj is undefined and bobj.isObject is not a function in Visual Studio 2012 and 2013
答案 11 :(得分:0)
可能的情况是IIS服务器网站没有默认为C:\ inetpub \ wwwroot,因为这是默认情况下Crystal将其应用程序文件安装在aspnet_client \ system_web \ 4_0_30319 \ crystalreportviewers13文件夹中。
所以可能的答案是将网站物理路径设置为c:\ inetpub \ wwwroot
答案 12 :(得分:0)
首先手动将rpt文件发布到服务器上的文件夹中。如果它工作,那么它只是一个部署问题。单击它时,请尝试确保文件的构建操作是“内容”。试着看看你是否进一步了解。
答案 13 :(得分:0)
如果将aspnet_client文件夹从C:\ inetpub \ wwwroot复制到新创建的网站的文件夹,它可以简单地解决问题。例如,如果您的网站名称是TestWebsite,则将aspnet_client文件夹放在TestWebsite文件夹中。您无需在web.config
中进行配置更改答案 14 :(得分:0)
以下是经过数小时挫折后对我有用的解决方案(在确定按照其他人推荐的方式复制文件夹后,请执行这些操作...):
<强>情境:强> CrystalReportsViewer显示空白浏览器屏幕(无查看器或任何空白报告页面) 查看源显示整个报表内容和查看器代码 浏览器可能显示或未显示bobj未定义错误
<强>测试:强>
浏览文件夹http://<server name>/aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif
- 如果您看不到图像,那么在显示报告时crystalreportsviewer面临的问题是同一个问题
要更改的IIS设置: 在IIS(7.0或更高版本)中展开您网站的文件夹 选择“aspnet_client”文件夹 在主页面中选择“身份验证”(功能视图) 选择“匿名访问”并使用右侧窗格中的“操作”菜单启用(这仅用于测试目的,您可以稍后禁用此功能) 在主窗格中选择“处理程序映射”(功能视图) 在右窗格的“操作”菜单中 点击“恢复为继承” 在提示确认时接受以恢复
再次测试: 浏览文件夹http:///aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif - 如果您想要的图像也可以修复报告
至少我无法在任何地方找到这个解决方案..
注意:强> 如果您已经完成测试(如上所述),请不要忘记禁用对IIS中aspnet_client文件夹的匿名访问
答案 15 :(得分:0)
设置
<compilation debug="false">
web.config中的为我工作。
答案 16 :(得分:0)
我终于得到了它,如下所述,旧的和固定版本,因为在我的开发服务器上我需要“〜”,这不是开发服务器上的情况,除了我精确地遵循链接。 旧的:
修正了一个: