2011-12-15 100 views
1

前言:我基本上对C#一无所知。 我已经添加了一个DLL到我的项目。我没有构建错误,但是当我尝试运行时,出现错误,说它无法找到dll。我试着将它复制到输出目录。无济于事。C#:添加DLL参考

任何想法可能发生什么?

具体错误:

System.IO.FileNotFoundException was unhandled Message=Could not load file or assembly 'controllib_clr.dll' or one of its dependencies. The specified module could not be found. Source=controllib_demo_cs...

我会很高兴地添加更多的信息如果需要的话。 :)我只是不知道什么信息会有利于我的(非常)有限的知识。

+0

你有没有在你的代码背后使用这些库?我做的是 – tmjam 2011-12-15 21:21:15

+0

。它在函数使用dll中的任何类之前调用​​。 – 2011-12-15 21:22:13

+0

只需要确认,你是否通过在解决方案资源管理器中右键单击项目名称并单击“添加引用”并浏览它(或其他类似的方法)来将该程序集添加到项目中,或者只是将.dll复制到你的文件夹结构? – JOpuckman 2011-12-15 21:22:55

回答

0

如果它存在,在您的输出文件夹中,那么很可能是其缺少的其依赖关系之一。您可以通过在项目中添加其依赖项作为参考来解决此问题。

如果您的输出中不存在,请检查在参考的属性中设置了“复制本地”。

0

它是一个管理(.NET)或不受控(原生)DLL是无法找到/加载一些dll的依赖,我将使用DependencyWalker找出?我假设不受管理。

FileNotFoundException在缺少依赖项时通常会引发。您正在加载的DLL可能需要加载任意数量的其他DLL。在大多数情况下,它不会告诉你它需要哪个文件。您必须参考该DLL的文档。