1

在我正在开发的 MVC 应用程序中,我们最近开始使用 ActiveReports 7 来满足我们的报告生成需求。在我的本地机器上,一切正常。然而,当我们部署到我们的开发服务器进行团队级测试时,我们得到一个LicenseException:

License for the SectionReport cannot be found.

我们按照此处的用户指南尝试了不同的方法来解决问题。

我们所做的:

  • 确保licenses.licx文件引用了程序集,并且我们的项目正在构建正确的 ActiveReports 7 程序集并被我们的项目引用。就目前而言,licenses.licx 文件看起来像这样(没有换行符):

GrapeCity.ActiveReports.SectionReport, GrapeCity.ActiveReports.v7, Version=7.0.6158.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport, GrapeCity.ActiveReports.Export.Pdf.v7, Version=7.0.6158.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff

  • 由于这是一个 MVC Web 项目,因此使用 AR7 附带的 Assembly License Generator 创建了一个 [Assembly].Web.License.dll 库,我们/lib/在解决方案级别的目录中与项目一起构建该库。此更改对许可例外没有影响。

  • 使用 Web 密钥生成器为 App.config 文件创建密钥。此更改对许可例外没有影响。

我们没有做的事情:

  • 创建了一些 Web 表单,并创建了一个使用我们的项目构建的 App_License.dll 库。我们没有这样做的原因是我们没有为我们的报告使用 Web 控件,我们甚至没有使用GrapeCity.ActiveReports.Web程序集,并且错误不是来自该库中的任何类(这是合乎逻辑的,看看我们如何不使用它。)

所有这一切中唯一值得注意的细节是修改 licenses.licx 文件具有早期效果,因为我们在另一个组件上有类似的许可证例外;确保 licenses.licx 具有正确的详细信息,确保其他组件不再在我们的应用程序中抛出 LicenseExceptions。我暂时认为可能我的 licenses.licx 文件仍然缺少使该应用程序正常工作所需的东西。

我能想到的唯一要做的就是推荐我们作为开发人员的服务器的主要许可,但是这种可能性已经出现,我们被要求采取的方向是尽可能避免这条路线。我认为这是可能的,因为我遇到过类似的帖子,这些帖子涉及遵循上述用户指南中的步骤的人,并且可能能够解决问题。然而,对于我的团队来说,这些步骤不起作用。

问题:我错过了什么?

4

2 回答 2

3

像您所做的那样使用组装许可证生成器应该可以解决问题。此外,根据ActiveReports 7 支持论坛上的这篇文章,请确保您使用的是最新版本的 AR7 ,已对某些更高版本的 ActiveReports 7 进行了修复,以纠正在这种情况下的许可问题。具体来说,之前引用的帖子中给出的步骤表示,按照以下步骤使用更新版本可以纠正其他人的问题:

  • 从类似于“C:\Program Files\Common Files\ComponentOne\ActiveReports Developer 7\”ApplicationLicenseGenerator.exe”的位置运行程序“ApplicationLicenseGenerator.exe”(以管理员身份)
  • 浏览到已编译的 ActiveReports DLL。
  • 按“生成”按钮。
  • 这会生成一个类似于 yourclasslibraryname.dll.GrapeCity.Licenses.dll 的附属程序集
  • 将 DLL 放在 Web 项目的 bin 文件夹中和/或在 Web 服务项目中引用生成的 DLL。
于 2013-03-04T20:40:45.350 回答
0

答:对于非授权用户,[Assembly].GrapeCity.License.dll必须添加到web项目中作为参考!

Licenses.licx不过,从构建的角度来看很重要。但是许可证文件没有丢失任何东西。

于 2013-03-04T20:30:09.430 回答