如何禁止在其他解決方案中引用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