C# 类库的开发/运行时许可机制? [关闭]

Posted

技术标签:

【中文标题】C# 类库的开发/运行时许可机制? [关闭]【英文标题】:Development/runtime Licensing mechanism for a C# class library? [closed] 【发布时间】:2010-11-04 23:33:59 【问题描述】:

我正在开发一个 .Net 类库(一个数据提供者),并且我开始考虑如何将库许可给潜在购买者。我所说的许可是指试图防止我的库被未购买的人使用的机制,而不是软件许可(即 Apache、Gnu 等)。

我从未处理过许可问题,过去,我一直在开发应用程序,而不是库。我不想让我的客户为难;知道不可能让它成为铁定的。只是一些机制可以为我提供体面的保护,而不会让客户跳槽或咬牙切齿。

我认为当类在开发模式下使用时,该机制会检查有效的许可证,而不是在运行时模式下(当客户的软件发布给他们的客户时)。我认为库通常是按开发人员出售的,但我不确定如何在不使这种机制对我的客户感到厌恶的情况下实现这一点;也许这会留给荣誉系统。

我用谷歌搜索了这个并找到了很多方法。理想情况下,我想做一些被普遍接受和普遍的事情,如果存在的话,类库的“正确”方式是许可的,而不是让我的客户处理另一种许可机制。坚定地朝着正确的方向前进将不胜感激!

【问题讨论】:

这不是一个好标题。您所说的与许可无关。 【参考方案1】:

这是 .NET 提供的解决方案

http://www.ddj.com/web-development/184416695

【讨论】:

文章中描述的机制适用于任何类型的 .NET 程序集。我已将它用于 WinForms、WebForms 组件,也用于仅包含数据结构/类型和算法的程序集(根本没有 UI) 谢谢 :-) 来自 MS 的文档:How to: License Components and Controls - “我们不再定期更新此内容” - 但底层的 system.componentmodel.license 目前仍然是 current/availab.e /.NET 5.0【参考方案2】:

当您的客户端实例化您的类库时,您将在构造函数代码中检查许可。如果供应商没有有效/缺失的许可证,那么您可以抛出许可异常。这将阻止某人使用您的课程/图书馆。您应该只执行一次,这样如果许可在一个类中有效,则所有其他类都将跳过许可检查。

【讨论】:

以上是关于C# 类库的开发/运行时许可机制? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C#/.NET第六期01C#基础_01:运行环境新建C#程序的流程严格区分大小写类库的含义

包括来自类库的服务引用

C#中,运行程序时提示:无法直接启动还有类库输出类型的项目?

安装后运行 XCode 6 时无法关闭许可协议对话框

在 C# 中开发许可证 - 我从哪里开始? [关闭]

08、electron调用C#类库的dll