c# System.DllNotFoundException 我在系统路径path里面放了要调用的dll还是会出现这个问题 20

把dll都放在执行目录下面的时候就不会出错,不放在执行目录下面而放在path下面的目录的时候,却提示找不到是怎么回事?... 把dll都放在执行目录下面的时候就不会出错,不放在执行目录下面而放在path下面的目录的时候,却提示找不到是怎么回事? 展开
 我来答
匿名用户
2017-05-07
展开全部
我遇到过的问题(在visual studio中),仅作参考:
这个dll如果是自己工程中引用的话不用这么烦的。首先运行的时候,看运行目录是不是生成了这个dll。
比如visual studio软件的解决方案资源管理器的引用目录里:可以通过浏览添加一个a.dll,如果a.dll依赖于b.dll那么就会出现上面的情况,通常是找不到b.dll,即使放在工程目录下也没用。
原因:运行或调试的时候a.dll和b.dll都必须在执行目录下或者在系统环境变量中注册才会被执行成功。
如果是自己的b.dll,相信不会有人想费劲注册到系统中,那么就必须在执行的时候在执行目录里有一份。但是工程目录里的dll复制过去了没有通常要自己检查一下:
比如visual studio软件的解决方案资源管理器(下面说的资源管理器默认是指它)的引用目录里添加a.dll后,可以选中它,看到它的属性中{复制到本地:True}可以知道a.dll会自动复制过去,所以不会有问题。而另一个b.ll是被a.dll依赖的,有的时候无法浏览加入引用,解决方法是点击资源管理器的显示所有文件快捷按钮,可以看到虚线构成的文件夹和文件目录,右击b.dll,包括在项目中,可以看到变成实线。这个时候选中b.dll看的属性中的高级->{复制到输出目录:不复制}改变成{复制到输出目录:始终复制}就可以了。
有时候版本不对扔进去了a.dll和b.dll也会出这类问题,右击项目,属性,在硬冲程序栏选择合适的framework版本和输出类型,在生成选择合适的目标平台。
当然其他软件我觉得基本都是因为没有设置好才需要手动扔进去,如果设置好了还不行尝试删了重引用重启工程(更新有时候来不及同步),还是不行的话可以下一个dll依赖查看工具来看依赖,如果windows更新了就等它完成重启电脑试试。
leiyangbdwk
2013-07-11 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4403万
展开全部
你说的系统路径是哪个?看你的引用的属性,指向的是哪里?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
任初彤26
2013-07-11 · TA获得超过288个赞
知道答主
回答量:55
采纳率:0%
帮助的人:51.1万
展开全部
小白丶风 说对你把原用的引用删除再重新引用 一下就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小白丶风
2013-07-11 · TA获得超过340个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:91.9万
展开全部
重新引用一下这个dll就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式