【发布时间】:2015-12-01 02:37:15
【问题描述】:
我正在使用 C# 编写库,而我的库使用第三方 .NET 库。当我推出我的库时,我必须包括第三方库以及我的库。但是我想阻止我的库(客户端代码)的用户直接使用第三方库。有没有办法在编译时或运行时强制执行?
【问题讨论】:
-
不,如果我可以访问它,我可以使用它。
我正在使用 C# 编写库,而我的库使用第三方 .NET 库。当我推出我的库时,我必须包括第三方库以及我的库。但是我想阻止我的库(客户端代码)的用户直接使用第三方库。有没有办法在编译时或运行时强制执行?
【问题讨论】:
如果这样做没有法律问题,您可以使用 ILMerge 将第 3 方库合并到您自己的库中。
您可以选择从 3rd 方库内部创建公共课程。这样,您的代码的客户端将无法访问 3rd 方库中的功能(除非他们进行某种破解。例如,我不确定是否有人可以使用某种 Reflection 代码来使用内部类)。
【讨论】: