gpt4 book ai didi

c# - 访问dll方法

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:57 25 4
gpt4 key购买 nike


我为我的客户准备了一些 C# dll 来执行一些功能。
问题是我也使用相同的 dll。
怎样才能让一些方法他可用,所有方法我都可用。
谢谢,

最佳答案

使用共享代码库

简单的编译两个项目。一个包含您提供给客户的 DLL 的源代码,另一个包含您自己保留的所有源代码。

  • 优势:他们看不到任何您想为自己保留的源代码,而且您不必设置任何类型的特殊托管 - 只需将 DLL 发送给他们
  • 缺点:您必须做额外的工作才能将代码库设置为可 fork 。进行这种重构可能需要大量的开发投资。

提供网络服务

为客户提供一个网络服务来访问他们被允许访问的代码。

  • 优势:他们根本看不到任何来源。
  • 缺点:根据代码,这可能需要大量工作(使安全性达到标准),而且可能不可能(使性能达到标准)。或者它可能很容易,因为也许这些都不是大问题。您还必须为此设置专用主机。

在共享 DLL 中使用 InternalsVisibleTo 属性

  1. 标记那些你想使用internal
  2. 的方法
  3. 对您自己使用 DLL 的代码进行代码签名
  4. 对共享 DLL 进行代码签名
  5. [assembly: InternalsVisibleTo]添加到共享DLL

参见:http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx

  • 优点:这是一个非常容易编写代码的解决方案
  • 缺点:客户端可以通过 Reflector 访问完整的源代码。您可以通过混淆您的代码或制定许可协议(protocol)来合法地禁止他们对您的代码进行逆向工程来缓解这种情况。

关于c# - 访问dll方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6420910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com