找不到程序集的 .NET 2.0 问题

.NET 2.0 issue with assembly not found

我必须解决我公司的一个奇怪问题。我们有 2 个 .net 2.0(旧的,我知道)应用程序,它们以 .asmx 文件开头。代码隐藏调用一个 c# 文件,其中包含一个 include abcd 指令,其中 abcd 来自第 3 方公司。

一个应用程序正在测试中,运行良好。相同的一个正在生产中并且失败并显示错误 Could not load file or assembly 'abcd.dll' or one of its dependencies。找不到指定的模块。

当我查看相关的 web.config 文件时,其中 none 包含一个指向 abcd.dll 的指针,我首先在生产环境的上下文中不理解它,一切正常的地方。其次,当我查看 \bin 文件夹时,我看到了相关的 assembly/dll。再次:这在两个系统中都是相同的。

两个系统的唯一区别是 visual studio 2.0(这真的存在吗?)在测试系统上可用。

请注意:我知道程序集也必须通过 visual studio 中的解决方案资源管理器添加。但我不能这样做,因为这里不允许安装。但同样:在测试服务器的 web.config 中,在相关的 web.config 中找不到任何参考,一切正常。

所以我的问题是:如何让这个东西在生产环境中工作?

提前致谢

您可能需要 运行 Dependency Walker (depends.exe) http://www.dependencywalker.com/ 并将其指向以检测是否缺少任何依赖项。

我还会查看 GAC (C:\Windows\assembly),看看那里是否有任何相关差异。

另外,比较两台机器上的 IIS 设置。