基于Licenses.licx的.Net组件许可模式如何工作?

我遇到了多个使用许可scheme的第三方.Net组件供应商。 在评估版上,组件显示的是一个唠叨的屏幕或水印或一些这样的指标。 在许可的计算机上,创build一个Licenses.licx – 看起来只是程序集全名/标识符。 构build客户端程序集时,必须包含此文件。

  • 这个模型是如何工作的? 从组件供应商和用户的angular度来看。
  • 什么是.licx文件用于? 应该检查吗? 我们遇到了很多错误的/正确的.licx文件被签入和没有

几乎所有有关.Net许可的内容都在这里解释。 我想不需要重写。

如果可以,最好从源代码pipe理中的项目中排除许可证文件。 否则,编辑可视化组件可能会让屁股感到痛苦。 另外,将许可证文件存储在源代码控制库中并不是必要的。

希望这可以帮助。

这是不正确的。 licx文件是非常重要的,并且需要使用embedded在其中的正确的许可证信息来构build主机应用程序。 所以,关键在于licx文件也包含在源代码pipe理中。 否则,在另一台机器上签出源代码的人将无法获得licx文件,并且构build可能失败,或者没有在exe中使用的组件的正确许可证信息。

这是一个关于这个主题的好文章: 点击这里

为了使用TX Text Control等许可组件部署应用程序,必须正确授权EXE文件。

.NET许可机制build议将许可证添加到EXE – 调用程序集。

—-详细情况如何?

如果将TextControl从Visual Studio工具箱拖放到表单上,Visual Studio将创build一个licenses.licx文件并包含许可证信息。 该文件位于与您的项目文件相同的文件夹中。

重要提示:licenses.licx文件不包含许可证string本身。 它只包含有关许可组件的信息 。 在TX文本控件(TXTextControl.TextControl)的情况下,添加以下string:

TXTextControl.TextControl, TXTextControl, Version=15.0.700.500, Culture=neutral, PublicKeyToken=6b83fe9a75cfb638 

如您所见,它包含名称空间和控件名称,程序集版本,区域性信息以及唯一的公钥标记。 根据这些信息,许可证编译器(lc.exe)将编译将被embedded到可执行程序集中的真实许可证string。 lc.exe是Visual Studio在构build过程中使用的.NET Framework SDK的一个小工具。

—-如果我在用户控件中使用TX Text Control,该怎么办?

在这种情况下,您还需要将许可证添加到主可执行文件中。 因此,可以简单地将TextControl拖放到主项目的虚拟表单中,以便自动添加licenses.licx文件和引用。

之后,您可以再次从该窗体中删除TextControl。 或者,您可以简单地将licenses.licx文件复制或创build到主项目文件夹。 在这种情况下,您还需要手动添加对TX Text Control的引用。