我有一个引用dll的wcf服务。唯一可行的方法是将dll放在%windir%/ system32文件夹中。
我尝试过的事情
我真正想要的是什么
访问dll的一种更简单的方法,因此我不必将dll放在system32中,而是将其包含在应用程序文件夹中并从那里访问它。
我缺少什么?
修改 我确实发现this帖子有趣且类似,但同样,它也使用了system32方法,这是不可能的。
答案 0 :(得分:1)
如果这是一个win32本机库,你可以预先加载"它来自一个已知位置,使用pinvoked LoadLibrary
传递库的完整路径作为参数,在处理管道的早期某处。
当调用带有DllImport
的库中的任何方法时,运行时将尝试加载库(并且会因为无法找到dll而崩溃)但是由于您预先加载了它,因此加载将成功(加载器)检查库文件名,没有注意从中加载库的目录。)