这可能是一个非常基本的问题,但我无法就此主题找到任何答案。我有一个项目引用了几个也在Visual Studio 2008中编写的类库dll。安装文件安装完全正确并将dll放在适当的位置。但是,似乎安装了安装项目的任何人都可以使用任何一个dll。例如,如果我有一个执行许多专有功能的dll,如何让某人不必简单地使用已安装的dll,在他们自己的项目中引用它,并使用可用的功能?
我认为这是一个简单的解决方法,但我是该主题的初学者。
答案 0 :(得分:0)
不,没有办法阻止这种情况(除了默默无闻之外 - 没有人知道如何使用你的DLL的API)。您所能做的就是为您的API函数添加晦涩的名称。
答案 1 :(得分:0)
你可以这样做的一种方法是在你的dll中放置一些静态令牌,它作为你项目之间的私钥,如果没有设置这个键,那么就不会执行任何方法。您的入口点将添加此私人令牌。不幸的是,这意味着你必须在每个公共方法调用上检查令牌。
答案 2 :(得分:0)
执行此操作的唯一方法可能是只包含可执行文件中当前DLL中的所有函数,并将修饰符设置为private。