iis7托管wcf服务:避免将dll放在system32文件夹

问题描述:

我有一个引用dll的wcf服务。只有它的工作方式是将dll放在%windir%/ system32文件夹中。iis7托管wcf服务:避免将dll放在system32文件夹

事情我已经试过

  • 试图之间切换IIS表达,开发服务器和IIS(但是这是不相关)
  • 放置DLL bin文件夹和/或其他应用程序文件夹
  • 试图使用“regsvr32”实用程序,但该DLL不是一个COM DLL,所以它不工作(无ddl入口点)
  • 它不是一个.NET DLL,所以我不认为GAC可以操纵与t合作他
  • 与系统路径变量发挥没有任何成功

其实我是想
一个更简单的方法来访问的dll,所以我不必放在SYSTEM32的DLL,但包含它的什么应用程序文件夹并从那里访问它。

我在想什么?


编辑: 我发现this后趣味性和类似,但同样,它也采用了SYSTEM32方法,是不是要走的路。

如果这是一个Win32本地库,你可以从已知位置“预加载”,它使用pinvoked LoadLibrary通过你的库的完整路径作为参数,在处理管线中较早的地方。

当调用由DllImport装饰的库中的任何方法时,运行时将尝试加载库(因为无法找到dll,因此会下载),但是由于您预装了加载器,加载将会成功(加载程序会检查库文件名,不关注库加载的目录)。

+0

不,它不是一个本地库,否则我不需要将它放在system32中,它已经在那里 – arkoak 2012-03-02 10:15:00

+1

对我来说,“本地”意味着不是.NET而不是COM。 – 2012-03-02 12:21:57

+0

好吧,我需要检查如何使用LoadLibrary – arkoak 2012-03-02 17:04:53