8

我正在开发一个广泛使用 ComponentOne 的 C1FlexGrid 的应用程序。在我们使用的几十个中,三个丢失了他们的 licenses.licx 文件,并导致在我启动应用程序时弹出演示启动屏幕。

有什么方法可以确定哪些形式导致了这种行为。没有手动检查数百个目录,我没有办法。

4

4 回答 4

6

根据 Microsoft 文档,只有可执行程序集需要 licenses.licx。带有表单的 Dll 程序集仍会创建一个,但会被忽略。这也是我的经验。我建议在设计器视图中打开每个表单并在该视图中重建。这通常会将任何缺少的许可证条目添加到 licenses.licx。但是,它不会更新现有条目。如果您更新了组件,这可能是个问题。对于 ComponentOne,您通常可以编辑 licenses.licx 并删除程序集名称后的版本信息。其他一些第三方组件更加挑剔,并且在编译时触摸它们的版本信息会导致错误。

在我看来,.NET 许可框架很繁琐,对开发人员来说是不必要的负担。有更简单的方法可以确保组件许可证得到尊重。

于 2009-03-11T17:05:45.830 回答
2

您不必打开每个表格。每个项目都有一个 licenses.licx 文件。只需确保在这些文件中引用了 C1FlexGrid,然后进行完全重建(Build | Rebuild All)。

那应该解决这个问题。

于 2009-11-30T21:58:39.677 回答
0

有时,打开表单并重建整个解决方案甚至不起作用。所以在这种情况下。只需将一些 ComponentOne 控件从工具箱拖放到您的表单(之后您可以将其删除)。此拖放将在 Properties 文件夹中自动生成 licenses.licx。

于 2013-08-28T07:57:52.653 回答
0

ComponentOne 有一个实用程序,它将(重新)为现有项目生成 licenses.licx 文件。

来源文章:https ://www.grapecity.com/blogs/licensing-and-licenses-licx-file-licxgenerator-tool

指示:

LicxGenerator 工具

幸运的是 [生成 license.licx 文件] 可以自动化,非常感谢我们的客户 Dom Sinclair 的启发。[链接如下] LicxGenerator 工具创建一个 license.licx 文件,其中包含在指定路径下找到的所有控件的许可证信息条目。如果您运行它,它会要求您浏览二进制文件夹,然后将生成的文件放在同一路径下。如果您需要更多控制,可以使用命令行选项运行它。您还可以使用其他自动化任务运行它。

用法:

LicxGenerator [-r] [-p prefix] [-s] [sourcePath] [outputPath]

参数:

  • -r:用于子文件夹中的递归搜索;

  • -p:仅搜索名称以指定前缀开头的文件;

  • -s: 静音模式。

如果两者sourcePath-s参数都未设置,该实用程序将显示文件夹选择对话框。如果outputPath未设置,它将与sourcePathvalue 相同。

为您的项目生成 licenses.licx 文件:

  1. 首先构建您的项目,以便输出文件夹包含所有二进制文件;

  2. 使用项目输出文件夹的路径运行 LicxGenerator;

  3. 获取生成的 license.licx 文件并将其添加到项目中。

这个免费工具将为您节省大量研究许可问题的时间。

于 2019-05-07T11:36:03.183 回答