在我正在开发的 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 文件仍然缺少使该应用程序正常工作所需的东西。
我能想到的唯一要做的就是推荐我们作为开发人员的服务器的主要许可,但是这种可能性已经出现,我们被要求采取的方向是尽可能避免这条路线。我认为这是可能的,因为我遇到过类似的帖子,这些帖子涉及遵循上述用户指南中的步骤的人,并且可能能够解决问题。然而,对于我的团队来说,这些步骤不起作用。
问题:我错过了什么?