有人能帮我找出问题所在吗?我试图在 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
请提供更多的上下文。
有人能帮我找出问题所在吗?我试图在 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 是否引用了该程序集。