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

标签 .net visual-studio-2008 activereports licenses.licx

背景信息:我在 VS2008 中设置了一个非常简单的 .NET 解决方案,其中包含的代码刚好足以在预览窗口中显示 ActiveReports 报告。 ActiveReports 组件使用 licenses.licx机制来决定它是否获得了适当的许可。如果它找不到有效的许可证 key ,它将在报告预览中显示一条突出的消息,说明“这是一个评估副本,[等等]。”
我的问题:我有两台计算机,都安装了相同版本的 VS2008 和 ActiveReports。我有每个安装的有效许可证。现在,当我在一台机器上构建我的解决方案时,我得到了一个没有评估横幅消息的报告预览,而在另一台机器上,完全相同的解决方案编译成一个将显示评估消息的应用程序。
到目前为止我发现了什么:使用 Reflector.NET我发现在第二台机器上(显示评估消息),许可证编译器( LC.EXE )似乎以某种方式忽略了 licenses.licx 中的 ActiveReports 许可证行.但它不会显示任何错误或警告消息。
⇒ 所以,这个问题仍然存在:什么情况下会LC.EXE决定忽略来自 licenses.licx 的一行文本当它产生输出 MyApplication.licenses嵌入资源?

附注:删除licenses.licx问题没有解决文件,然后通过临时向解决方案添加一个虚拟报告来重新创建它。这个技巧是often mentioned对于类似的许可问题,但在这里不起作用。 licenses.licx文件内容似乎有效。
P.P.S.:不完全确定这是堆栈溢出问题还是 super 用户问题。

最佳答案

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

我怀疑 LC.EXE将探测 licenses.licx 中列出的所有控件当它编译该文件时。如果在该探查期间,任何列出的控件确定它未正确获得许可(无论出于何种原因;例如,因为确实缺少许可,或由于安装损坏),则许可编译器将不会向输出资源流。

更新:几个星期后,我仍然相信这就是发生的事情。事实证明,许可失败的一台机器的 ActiveReports 安装已损坏。运行删除实用程序后,ActiveReports 获得了全新安装,并且许可现在可以在两台机器上运行。

关于.NET 的许可证编译器 (LC.EXE) 似乎忽略了一台机器上的 licenses.licx 的内容,而不是另一台机器上的内容。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3048036/

相关文章:

c++ - 自动生成的文件和 VC++ 2008 项目

c++ - 如何访问html资源文件?

asp.net - 如何在 ASP.NET MVC 中呈现事件报表 WebViewer

asp.net - Visual Studio 2013 拒绝构建解决方案,显示 "Could not load file or assembly ... Failed to grant minimum permission requests"、 0x80131417

c# - 如何在C#中实现真正的函数管道?

c# - <> 转换为 64BaseString 和从 64BaseString 时 Xml 丢失

c# - FakeItEasy.Invokes() 中调用的方法名称

.net - LINQ to SQL 查询中的 C# 动态 WHERE 子句

visual-studio-2008 - 在 visual studio 2008 下进行分析时如何为我的应用程序设置环境变量

c# - Active Reports 9 : Multi-Colum SectionReport, 这可能吗?