2014-10-03 63 views
4

我正在面对Crystal Reports报表中的一个问题,该报表用于为WPF应用程序中的订单生成报表。无法使用SAP Crystal报表生成报表

我的工作站配置的Windows 7(旗舰版)64位,Visual Studio 2010中

我还没有安装任何的水晶报表引擎,但我已经复制了所有必要的dll对我的项目(创建一个文件夹,然后在我的项目中引用)。但是当我点击按钮(生成报告的按钮)时,我在报告构造函数中得到一个异常(不同的异常来自不同的运行)。

主要的例外说

“的类型初始为 'CrystalDecisions.CrystalReports.Engine.ReportDocument' 抛出 例外。”

当我深入内部的例外,我知道这一点。

“无法加载文件或程序集 ‘CrystalDecisions.ReportAppServer.CommLayer,版本= 13.0.2000.0, 文化=中性公钥= 692fbea5521e1304’或它 依赖项。系统无法找到该文件 指定 “:” CrystalDecisions.ReportAppServer.CommLayer, 版本= 13.0.2000.0,文化=中性公钥= 692fbea5521e1304"

这里是我的错误的屏幕截图,

我已经使用了它并知道我需要为Vstudio 2010安装CR,但是如果我安装了我的开发计算机,如何使安装程序在客户端计算机上部署,并且我不想在所有计算机上安装CR机器(我将在哪里部署到我的许多客户)。

我真的需要帮助解决这个问题,我能做些什么来解决我的问题?

任何帮助高度赞赏。

+1

您打算使用Crystal Reports报告引擎,但不想部署它?是这样吗? – Dennis 2014-10-03 07:23:13

+0

我真的没有得到你的问题@丹尼斯,我想要做的是生成一个报告。而且我无法为我的客户端机器安装CR(因为我有很多客户端,安装对我来说真的很麻烦)。但我可以将所有必需的DLL复制到正在部署的应用程序中。 – 2014-10-03 07:26:01

+0

你有没有得到这个工作@ ganesh? – 2014-10-07 18:39:13

回答

1

您是否在您的应用程序中使用ClickOnce安装?如果是这样,您可以指定SAP Crystal Reports Runtime Engine for .NET Framework作为该项目的Publish ...属性下的先决条件,因此只要安装了应用程序,它就会安装,它将从Web下载并安装。如果不是ClickOnce,则可以将您的安装方法配置为使用您的应用程序安装引擎。为了开发,您需要为Visual Studio安装CR。

+0

我正在使用Windows安装程序来部署我的应用程序。是否有任何方法可以使我的部署包中所需的dll包的一个包,以便他们可以简单地安装而无需访问互联网。 – 2014-10-03 13:59:36

+0

有一段时间没有使用Windows安装程序,但我知道我以前做过。很确定你只是在先决条件中选择它。这应该让你开始:http://msdn.microsoft.com/en-us/library/7eh4aaa5(v=vs.100).aspx – 2014-10-03 14:01:54

+1

好吧,所以为了生成报告,我必须安装CR for 32位或64位,否则我无法使用它。这就是你的意思。添加所有必需的dll是否不足以生成报告? – 2014-10-03 14:16:03

3

正式文件says

部署水晶报表的Visual Studio 2010(CRVS2010)运行 文件是为了强制确保包含项目 水晶正确Reports组件的功能。

要么遵循这些建议,要么拒绝Crystal Reports在您的应用程序中的使用,并选择另一个报告引擎,该部署适合您的要求。

+0

是否可以在没有管理员权限的情况下安装使用CR的应用程序? – 2014-10-03 18:00:49

+0

+1:这就是我会想到的。安装不同于复制Dlll。有安装时更改的注册表项和其他背景废话。 – aMazing 2014-10-06 03:17:41

+0

@VDohnal:如上所述,CR使用msi/msp包,即Windows Installer。因此,安全性没有什么特别之处。我不是系统管理员,但我认为,允许非特权用户安装软件是不好的做法。 – Dennis 2014-10-07 05:31:33