代码之家  ›  专栏  ›  技术社区  ›  stakx - no longer contributing Saravana Kumar

.NET的许可证编译器(LC.EXE)似乎忽略了一台计算机上licenses.licx的内容,但忽略了另一台计算机上的内容。为什么?

  •  4
  • stakx - no longer contributing Saravana Kumar  · 技术社区  · 15 年前

    背景信息: 我在VS2008中设置了一个非常简单的.NET解决方案,其中包含的代码仅足以在预览窗口中显示ActiveReports报表。ActiveReports组件使用 licenses.licx

    我的问题是: 我有两台电脑,都安装了相同版本的VS2008和ActiveReports。每次安装我都有有效的许可证。现在,当我在一台机器上构建解决方案时,会得到一个没有评估横幅消息的报表预览,而在另一台机器上,完全相同的解决方案会编译到一个显示评估消息的应用程序中。

    到目前为止我发现: 使用 Reflector.NET 我发现在第二台机器(显示评估消息)上,许可证编译器( LC.EXE 许可证.licx . 但它不会显示任何错误或警告信息。

    所以,这个问题仍然存在: 决定忽略来自 许可证.licx 当它产生输出时 MyApplication.licenses


    附笔。: 问题是 通过删除 许可证.licx 文件,然后通过临时向解决方案中添加虚拟报告来重新创建它。这个把戏是 often mentioned 类似的许可问题,但在这里不起作用。这个 许可证.licx 文件内容似乎有效。

    附言:

    1 回复  |  直到 4 年前
        1
  •  4
  •   stakx - no longer contributing Saravana Kumar    14 年前

    好的-我不能确定,但我怀疑这个问题的原因。

    我怀疑 LC.EXE licenses.licx 当它编译那个文件的时候。如果在调查期间,任何列出的控件确定其未获得适当许可(无论出于何种原因);e、 g.由于许可证确实丢失,或者由于安装损坏),许可证编译器不会向输出资源流发出实际的许可证密钥。


    几周后,我仍然相信事情就是这样。事实证明,授权失败的那台机器安装的ActiveReports已损坏。在运行了一个删除实用程序之后,ActiveReports得到了一个新的安装,现在两台机器上都可以使用许可。