English 中文(简体)
无法加载文件或程序集错误
原标题:
  • 时间:2009-02-16 07:28:31
  •  标签:

有人能帮我找出问题所在吗?我试图在 Visual Studio 中启动一个 C# Windows 窗体应用程序,但我一直收到这个错误:

Could not load file or assembly, Foo.dll version1.93343 or one of its dependencies The system can t find the file specified

VS 2005,C#2.0

请提供更多的上下文。

最佳回答

一般来说,这个问题可能是由你的一个依赖树中较深的引用引起的。我通常的做法是启动 Sysinternals 进程监视器 (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx),按进程名称过滤,并运行应用程序。此时通常比较容易通过“未找到文件”来定位缺失的引用。

问题回答

启动Fuslogvw.exe并检查无法找到的程序集(或引用)。

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

我经常发现无法加载的程序集DLL文件看起来很好。然而,它的其中一个依赖项(另一个程序集DLL)不存在或已经移动。

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

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

你必须在某个地方拥有Foo.dll的参考,但是它无法被定位(duh)。您在解决方案窗口中是否看到了引用?您可以右键单击它并选择“属性”来查看路径。

你在 Visual Studio 解决方案资源管理器中的引用上看到感叹号了吗?

如果是这样,那么你需要先移除它,然后再添加。

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





相关问题
热门标签