我为我的客户准备了一些C#dll来做一些功能
问题是我也使用相同的dll
我怎样才能为他提供一些方法以及我可用的所有方法
谢谢,
答案 0 :(得分:5)
使用共享代码库
只需编译两个项目。一个包含您提供给客户的DLL的源,另一个包含您自己保留的所有源。
提供网络服务
为客户提供Web服务,以访问他们可以访问的代码。
使用共享DLL中的InternalsVisibleTo
属性
internal
[assembly: InternalsVisibleTo]
添加到共享DLL 答案 1 :(得分:1)
您必须编译程序集的两个版本。您分发给您的cutomer的版本需要完全排除您不希望他们访问的方法,否则无论您如何“隐藏”它们,都可以通过Reflection访问它们。
(假设您不希望对程序集进行签名)
答案 2 :(得分:0)
您可以使用C# preprocessor directives之类#define
来编译同一代码库中的两个版本的库。
然后将一个版本发送给您的客户,保留另一个版本。