如何禁止在其他解决方案中引用dll类库?如何禁止引用.NET DLL类库
3
A
回答
6
你可以考虑将你做希望能够与使用它的程序的strong name匹配的StrongNameIdentityPermission
你的类库。
或者,您可以探索使用InternalsVisibleToAttribute
,虽然它可能需要在您的库代码中进行一些设计更改。只要这两个程序集都没有签名,或者两者都用强名称签名,这应该工作。在属性上指定的参数应该与您希望能够访问其内部成员的程序集的公钥和程序集名称匹配。
但实际上,这样做只会阻止那些不努力使用你的库的人。他们将无法添加引用,但它不会阻止某人通过Reflection或反汇编代码绕过它。几乎所有的安全措施都有你实施的方法。
5
你可以使用一些叫做StrongNameIdentityPermission的东西来防止他人引用你的库。
-1
通过将“Build Action”属性设置为“Embedded ressource”,可以将DLL嵌入到EXE中。您的DLL不作为单个文件发货,也没有人可以使用它。
-1
如果您的主程序没有使用某些dll类方法,那么您可以使其失败。
Assembly main = System.Reflection.Assembly.GetExecutingAssembly();
if (main.FullName != .....)
throw new NotSupportedException();
或
if (IsSignedWith(main, myCompanysX509Certificate))
throw new NotSupportedException();
相关问题
- 1. VB调用.NET类库(dll)
- 2. 类库编译.DLL .NET
- 3. .NET类库DLL刷新
- 4. 如何解决.NET DLL引用冲突?
- 5. C# - 从.NET DLL(类库)执行代码而不引用它?
- 6. .NET合并类库引用
- 7. .Net DLL引用另一个DLL
- 8. 如何从.net核心引用.net 4类库
- 9. 如何集中一个VB6引用的.net dll(com interop)dll
- 10. .NET Remoting - DLL引用困境
- 11. 如何防止将app.config集成到.net库(dll)
- 12. 如何在.NET项目中使用COM引用禁止编译器警告
- 13. 如何引用.NET Core 1.1 DLL - 不是项目 - 从.NET 4.6.1
- 14. 如何禁止存储库使用?
- 15. 如何从UWP应用程序引用.NET Standard 2.0类库?
- 16. 问题,而在标准的.Net类库引用.net库中
- 17. .net在类库中引用Web
- 18. 禁止获取p2存储库索引
- 19. 如何停止.Net HttpWebRequest.GetResponse()引发异常
- 20. DLL库类
- 21. 如何在类库中使用ASP .NET Webforms视图引擎?
- 22. 如何禁用Collpasible从子类引导
- 23. 如何防止类看到DLL文件
- 24. 从Silverlight项目中添加对.net库(dll)的引用
- 25. 经典的asp如何访问由COM-Visible类引用的.NET dll?
- 26. VS2010我如何禁止MSB3245(引用的组件X不存在)
- 27. 防止引用禁止类的Java构建过程
- 28. .NET MEF负载未引用的.dll的
- 29. 从powershell脚本引用.Net .dll
- 30. 如何制作.NET Core类库并从.NET 4.6项目中引用它?
可能重复:http://stackoverflow.com/questions/96624/how-to-prevent-others-from-using-my-net-assembly – 2010-12-01 10:40:11
它是一个问题,使所有的类内部,使其只适用于您指定的程序集? – leppie 2010-12-01 10:42:22
Becouse我需要在与MyProgram.exe相同的解决方案中引用我的SecreteLibrary.dll – Simon 2010-12-01 11:22:19