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#技术分享] 给自己的软件添加后门 有关C#编程题!紧急需要,求解!麻烦了! sln文件路径问题啊 MessageBox的按钮能不能改成英文 各位前辈,我想请教关于阴影复制和深度复制 求助如何操作主从表? C# WinForm的一个问题,工具栏如何实现移动 10到9999 正则表达式 怎么写? C#如何实现这个 C#代码如何避免被反编译!!! 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>