DllImport 这个怎么破? 本帖最后由 csz_1987 于 2014-09-04 16:35:37 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <span style="color: #FF0000;">\\Other\\Lib.dll</span>这是啥在代码里加颜色不好用的 晕,刷新之后,居然好用了升级了?改成Other\\Lib.dll这样试试前面不要加多余的\\ 还是一样,DllNotFoundException。找不到Dll。还是 Winform不支持我的这种需求?感觉不应该啊。 到底是Others,还是Other不会就差个s吧 不是,这个是我帖子里面输入错误,我也发现这个输入错误了,但是过了编辑时效了,csdn不给我权限编辑。项目里的是对的。 http://www.cnblogs.com/szytwo/archive/2011/12/11/2283780.html不过一般很少人这么干 新的DLL直接就替换旧的版本 向下兼容就行了.. 这博文看过,没解决问题。博文里说的:“Web中的,同时也是应用程序中的后来发现用[DllImport(@"C:\OJ\Bin\Judge.dll")]这样指定DLL的绝对路径就可以正常装载。”实际上他还是放在程序的同级目录。如果博主的Judge.dll 放到 C:\OJ\Bin\Other\Judge.dll 下,我想他的 一样也是识别不到 Other目录里的Judge.dll。目前就一个外设的dll,将来还会有扫描枪,读卡机,RFID读卡机的外设添加。每个厂商都会给一个他们自己个dll给我们调用他们的设备。为了使得目录结构清晰,我希望外设的dll统一存放于一个文件夹内。我想应该挺多人都会想这么干的吧。保持程序运行目录的干净。 如果你这么想 还不如把所有的DLL都扔到system32呢...更干净了 毕竟 这些DLL都是非托管的 在system32下更合适..而且有的东西还需要驱动 正好驱动也在system32.... http://stackoverflow.com/questions/8836093/how-can-i-specify-a-dllimport-path-at-runtime <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="子目录名"/> </assemblyBinding> </runtime></configuration> 这个dll是不是还有别的依赖项? 10L的方法可以试试。另外也可以直接用LoadLibaray API,以及GetProcAddress。11L的方法是针对托管dll的,对lz来说不适用。 http://www.cnblogs.com/szytwo/archive/2011/12/11/2283780.html 谢谢,问题解决了。在P/Invoke前,通过Win32 API SetDllDirectory (string lpPathName)设置程序默认的搜索路径。DllImport那边只声明dll 文件名即可。 c#中按钮与按键怎么绑定(不是快捷键的那种)?还有当我按下按钮不松开的时候,一直触发某个事件(比如i++),松开的时候事件停止怎么实现啊? C#怎么让serialPort初始化 在启动记事本程序的进程时怎么在记事本输入文本? c#中为什么要用到托管技术,在什么情况会用到托管技术?一直搞不明白 请问如何在.net中操作DBASE3数据库 数据对比问题,急! 关于out关键字的问题 日志操作 编译器提示 : 并非所有的代码路径都返回值,可我没有看出来哪儿没有返回,帮忙? 设置快捷建问题! c#多线程 如何取集合里面的数据各自执行。 c# plsql 怎么执行多条insert语句
这是啥
在代码里加颜色不好用的
升级了?改成Other\\Lib.dll这样试试
前面不要加多余的\\
还是一样,DllNotFoundException。找不到Dll。
还是 Winform不支持我的这种需求?感觉不应该啊。
不会就差个s吧
不是,这个是我帖子里面输入错误,我也发现这个输入错误了,但是过了编辑时效了,csdn不给我权限编辑。
项目里的是对的。
这博文看过,没解决问题。
博文里说的:“Web中的,同时也是应用程序中的
后来发现用[DllImport(@"C:\OJ\Bin\Judge.dll")]这样指定DLL的绝对路径就可以正常装载。”实际上他还是放在程序的同级目录。如果博主的Judge.dll 放到 C:\OJ\Bin\Other\Judge.dll 下,
我想他的 一样也是识别不到 Other目录里的Judge.dll。
目前就一个外设的dll,将来还会有扫描枪,读卡机,RFID读卡机的外设添加。
每个厂商都会给一个他们自己个dll给我们调用他们的设备。为了使得目录结构清晰,我希望外设的dll统一存放于一个文件夹内。
我想应该挺多人都会想这么干的吧。保持程序运行目录的干净。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="子目录名"/>
</assemblyBinding>
</runtime>
</configuration>