2012-04-20 55 views
2

我正在Visual Studio 2010中开发一个Web应用程序项目。它发布到Windows 2008服务器。我是否需要在服务器上安装Crystal Reports的某些内容?

我已经加入到引用:

CrystalDecisions.CrystalReports.Engine

CrystalDecisions.Shared

CrystalDecisions.Web

而添加的CrystalReportViewer到.aspx页。

查看器要显示的水晶报表文件位于应用程序发布到的服务器上。

如果我在本地运行应用程序 - 它工作正常,报告显示在查看器中。

如果我将应用程序发布到服务器上,它会因'log4net'缺失的程序集消息而崩溃。

是否需要在服务器上安装Crystal Reports中的某些内容?

回答

2

是的,您需要安装相关的Crystal Reports运行时/重新分配;

http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp

应该有你需要的东西。

如果你得到的版本麻烦试图通过添加以下内容到应用程序/网络的.config固定:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     ... 
    </assemblyBinding> 
    </runtime> 
+0

谢谢你。所以我想我需要在服务器上安装适用于.NET Framework 4(64位)的SAP Crystal Reports运行时引擎。我怎么知道它是否已经在那里? – 2012-04-20 12:09:56

+0

从内存中它会出现在控制面板,添加/删除程序 – 2012-04-20 12:48:03

+0

我总是被这个东西困惑。我添加了对CrystalDecisions.ReportAppServer.CommLayer.dll的引用并发布了该网站。 当我尝试运行该网站时,我被告知程序集CrystalDecisions.ReportAppServer.CommLayer.dll版本13.0.2000.0缺失。在我的本地机器上引用的版本是13.0.0.99 服务器为什么要查找13.0.2000.0?是什么让它做到这一点?你上传一个网站,参考一个DLL版本13.0.0.99,服务器决定寻找13.0.2000.0我怎样才能让我的本地机器引用什么推测是后来的版本? – 2012-04-20 13:06:42

0

我能解决这个错误我只是勾选启用从高级设置32位应用程序为true在IIS中。点击你选择的应用池> adv settings>会弹出一个对话框。

相关问题