无法加载文件或程序集错误

7

有人能帮我找出问题所在吗?我正在尝试在Visual Studio中启动一个C# WinForms应用程序,但一直出现以下错误:

无法加载文件或程序集,Foo.dll版本1.93343或其某个依赖项。系统找不到指定的文件。

使用VS 2005,C# 2.0

需要帮助。

6个回答

8
通常情况下,这与您引用的参考文献之一有关,可能深入到依赖树中。我通常会启动Sysinternals进程监视器(http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx),按进程名称过滤并运行应用程序。在这一点上,通常很容易筛选出“文件未找到”的错误,并定位到有问题的缺失引用。

1
我在使用进程监视器查找丢失的引用时遇到了困难...进程名称应该是我的VS实例(devenv.exe),对吗?“FILE NOT FOUND”应该在“Result”列中找到? - Veverke
我有很多“NAME NOT FOUND” - 我认为它们不是这里的原因? - mcmillab

2

打开 Fuslogvw.exe 并检查哪个程序集(或引用)找不到。


1

这是关键部分:“或其依赖项之一”

我经常发现无法加载的程序集dll文件看起来很正常。但是,它的某个依赖项(另一个程序集dll)不存在或已移动。

当CLR加载程序集时,它还会检查该程序集的所有依赖项是否存在。在XCopy部署中,这通常意味着您需要将所有依赖项程序集放在应用程序exe相同的目录中。

尝试将winforms可执行文件加载到Reflector中,并在“yourApp.exe”下展开“引用”节点,以查看其他引用类型。


0

你必须在某个地方引用了Foo.dll,但是它无法被找到(显然)。你在解决方案窗口中看到了这个引用吗?你可以右键点击它并选择“属性”来查看路径。


0
在Visual Studio的解决方案资源管理器中,你是否看到一个引用上面有一个感叹号?
如果是的话,那么你需要将其删除然后再添加一次。

0
值得检查一下你的全局 web.config 文件是否引用了该程序集。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接