保护 DLL 免于在我自己的项目以外的其他项目中使用
我要构建一个大型项目,并想为其创建多个库(DLL)。我不想将它们全部合并到一个 EXE 中,而是想使用单独的 DLL 文件。
我不希望这些DLL被其他人使用,所以这些DLL应该受到保护,以便它们只能在我自己的项目中使用。
我正在考虑在 New() 过程中使用某种密码,但这不适用于共享类。
我正在考虑的其他解决方案:是否可以检查调用程序集是否与 DLL 具有相同的强名称?
这些解决方案只是我的想法之一。我不知道这些是否有效,并且并不是说其中之一是可行的方法。
实现这一目标的最佳方法是什么?
顺便说一句:我还使用混淆器来保护我的代码。
I'm going to build a large project and want to create several libraries (DLL) for it. I don't want to merge them all in one EXE, but want to use seperate DLL files.
I don't want those DLL's to be used by others, so these DLL's should be protected so that they can only be used in my own project.
I was thinking of using some sort of password in the New() proc, but that doesn't work for shared classes.
Other solution I was thinking of: is it possible to check if the calling assembly has the same strong name as the DLL?
These solutions are just one of my ideas. I don't know if those will work and am not saying that one of them is the way to go.
What is the best approach to accomplish this?
BTW: I also use a obfuscator to protect my code.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在代码编辑时将此代码粘贴到 dll 中,它应该可以工作!
Paste this code into the dll while in code edit, and it should work!
您可能需要查看 System.ComponentModel。许可证提供者。您可以使用任何您想要的身份验证方法来检查它们是否具有 dll 的有效副本。
You may want to look in to System.ComponentModel.LicenseProvider. You can use whatever authentication method you want for checking to see if they have a valid copy of the dll.