我正在Visual Studio 2010中开发一个Web应用程序项目。它发布到Windows 2008服务器。
我添加了对:
的引用CrystalDecisions.CrystalReports.Engine
CrystalDecisions.Shared
CrystalDecisions.Web
并将CrystalReportViewer添加到.aspx页面。
查看器要显示的水晶报表文件位于发布应用程序的服务器上。
如果我在本地运行应用程序 - 它工作正常,报告将显示在查看器中。
如果我将应用程序发布到服务器,它会丢失一条“log4net”缺失的程序集消息。
我是否需要在服务器上安装Crystal Reports中的内容?
答案 0 :(得分:3)
是的 - 您需要安装相关的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>
答案 1 :(得分:0)
我能够通过IIS中的高级设置将启用32位应用程序设置为true来解决该错误。单击您选择的应用程序池&gt; adv settings&gt;将弹出一个对话框。