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,因此会下载),但是由于您预装了加载器,加载将会成功(加载程序会检查库文件名,不关注库加载的目录)。
不,它不是一个本地库,否则我不需要将它放在system32中,它已经在那里 – arkoak 2012-03-02 10:15:00
对我来说,“本地”意味着不是.NET而不是COM。 – 2012-03-02 12:21:57
好吧,我需要检查如何使用LoadLibrary – arkoak 2012-03-02 17:04:53