我想部署附带许可证的应用程序。但是,我想防止我的dll可以在visual studio中轻松引用。
通常的做法是什么?我正在考虑使用应用程序来防止这种情况,然后代码变得依赖于体系结构。我不是针对除Windows之外的任何其他架构/平台,但是,在发布版本之后找到应用程序对我来说似乎是一种解决方法。有没有其他技术可以实现这一目标?
答案 0 :(得分:3)
您无法发送ngen-ed图像,Ngen.exe 必须在目标计算机上运行。有一个专门的服务,由.NET安装程序安装,负责处理它。无论如何它无助于保护任何东西,原始组件也必须存在。
.NET内置了对许可的支持,但它仅适用于可设计的类。 System.ComponentModel.License是基类声明。 LicFileLicenseProvider是它的具体实现。
你可以购买第三方的东西,加密狗是无与伦比的。无论哪种方式,您的知识产权唯一真正的保护是在法庭上。在可见的地方声明版权,确保您的用户在使用您的代码之前完成明确的许可协议步骤。
答案 1 :(得分:2)
代码访问安全性(CAS)。您可以在一系列继承或方法或程序集中强制执行LinkDemand,这要求所有程序集链接都具有相同的强名称密钥和其他所需的证据。
答案 2 :(得分:0)
如果您使用的是安装程序,则可以在安装过程中使用。 SQL Server执行此操作。
你也可以混淆。它不会阻止链接本身,但它确实很难知道dll的作用,降低了它对其他进程的“有用性”。
答案 3 :(得分:0)
如果您将课程范围更改为朋友
,该怎么办?