【问题标题】:How does the Licenses.licx based .Net component licensing model work?基于 Licenses.licx 的 .Net 组件许可模型如何工作?
【发布时间】:2010-09-08 06:12:39
【问题描述】:

我遇到过多个使用许可方案的第三方 .Net 组件供应商。在评估副本上,组件显示为带有 nag-screen 或水印或一些此类指示器。在获得许可的机器上,会创建一个 Licenses.licx - 似乎只是 程序集全名/标识符。构建客户端程序集时必须包含此文件。

  • 这个模型是如何工作的?从组件供应商和用户的角度来看。
  • .licx 文件有什么用途?是不是应该办理登机手续? 我们在签入错误/正确的 .licx 文件时遇到了许多问题

【问题讨论】:

标签: .net


【解决方案1】:

这是不正确的。 licx 文件非常重要,它是构建宿主应用程序所必需的,其中嵌入了正确的许可证信息。因此,将 licx 文件也包含在源代码管理中至关重要。否则,在另一台机器上检查源代码的人将无法获得 licx 文件,并且构建可能会失败或没有 exe 中使用的组件的正确许可信息。

【讨论】:

  • 或者,可以说,构建源代码的机器应该有适当的许可证,在这种情况下不需要分发......?
  • 我不明白什么是不正确的。也许这是对另一个答案的引用?剩下的答案就靠它自己了。
  • “或者,可以说,构建源代码的机器应该有适当的许可证”——这样做会导致从生成的可执行文件中省略许可证信息,如果没有,取决于控件,控件可能无法正常工作。它可能会在开发系统上工作,在该系统范围内该控件已获得许可,但可能不适用于没有该控件的许可版本的最终用户系统。
  • 包含 license.licx 可能会导致构建服务器出现问题,因为此时控件也需要安装在那里;这通常是不可能的。因此,您不要添加 licx 文件,而是手动构建 .licenses 文件并将其作为嵌入式资源添加到项目中。
【解决方案2】:

here 解释了几乎所有关于 .Net 许可的内容。我认为不需要重写。

如果可以的话,最好在源代码管理中从项目中排除许可证文件。否则,编辑视觉组件可能会让人头疼。此外,无需将许可证文件存储在源代码控制存储库中。

希望这会有所帮助。

【讨论】:

  • 整篇文章都没有提到“licx”。这如何解决这个问题?
  • 我有点同意乔·怀特的观点。它确实解释了许可并推断 licx 可能会做什么,但没有直接解决它。
【解决方案3】:

这是一篇关于该主题的好文章:Click Here

要部署带有 TX 文本控件等许可组件的应用程序,必须正确许可 EXE 文件。

.NET 许可机制建议将许可添加到 EXE - 调用程序集。

----详细会发生什么?

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

重要提示:licenses.licx 文件不包含许可证字符串本身。它仅包含有关许可组件的信息。如果是 TX 文本控件 (TXTextControl.TextControl),则添加以下字符串:

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

如您所见,它包含命名空间和控件名称、程序集版本、文化信息和唯一的公钥标记。基于该信息,许可证编译器 (lc.exe) 编译将嵌入到可执行程序集中的真实许可证字符串。 lc.exe 是 Visual Studio 在构建过程中使用的 .NET Framework SDK 的一个小实用程序。

---- 如果我在用户控件中使用 TX 文本控件怎么办?

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 2016-10-26
    • 2017-02-19
    • 2011-08-03
    • 2017-09-27
    • 2012-05-24
    相关资源
    最近更新 更多