DLL 版本控制错误

2024-01-05

我有一个网站偶尔会抛出以下错误:

“/”应用程序中的服务器错误。

无法加载文件或程序集“ICSharpCode.SharpZipLib,Version=0.85.3.365,Culture=neutral,PublicKeyToken=1b03e6acf1164f73”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

现在我知道我确实依赖于此 DLL,但我的系统上有版本 0.85.5。我已经系统删除了every来自服务器的旧版本 DLL,重新编译所有内容并重新发布。但无论我做什么,似乎每次重新发布后,有人访问该网站的前一两次,他们都会收到此错误。然后刷新一两次后,错误消失,网站功能正常。

更奇怪的是,如果我查看引发错误的代码行:

URLRewriter.ProcessRewritingResult(status, excludedEnum, siteName, viewMode, relativePath);

URLRewriter是来自第 3 方包的类(肯蒂科CMS http://www.kentico.com/- CMS.URLRewritingEngine.dll)。我在该 DLL 上运行 Dependency Walker,发现 ICSharpCode.SharpZipLib 没有任何依赖项。

任何想法如何解决这一问题?

EDIT:根据 @JeremyThompson 的建议,我运行 Process Monitor 来捕获错误。这是一个屏幕转储,其中突出显示了相关部分(出于隐私原因,隐藏了一个文件夹名称)。您可以通过右键单击它等来查看它的完整尺寸...

EDIT:这是错误的加载跟踪。这有帮助吗?

===预绑定状态信息===

日志:用户 = MY-SERVER-12\Administrator

日志: DisplayName = ICSharpCode.SharpZipLib,版本 = 0.85.3.365,文化 = 中性,PublicKeyToken = 1b03e6acf1164f73 (详细说明)

日志:Appbase = file:///C:/inetpub/wwwroot/MySite/

日志:初始 PrivatePath = C:\inetpub\wwwroot\MySite\bin

调用程序集:CMS.WebAnalytics,版本=6.0.4377.2467,文化=中性,PublicKeyToken=834b12a258f213f9。

===

日志:此绑定在默认加载上下文中启动。

日志:使用应用程序配置文件:C:\inetpub\wwwroot\MySite\web.config

日志:使用主机配置文件:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config

日志:使用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config 中的计算机配置文件。

日志:政策后参考:ICSharpCode.SharpZipLib,Version=0.85.3.365,Culture=neutral,PublicKeyToken=1b03e6acf1164f73

日志:尝试下载新的 URL 文件:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib.DLL。

日志:尝试下载新的 URL 文件:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.DLL。

日志:尝试下载新的 URL 文件:///C:/inetpub/wwwroot/MySite/bin/ICSharpCode.SharpZipLib.DLL。

日志:尝试下载新的 URL 文件:///C:/inetpub/wwwroot/MySite/bin/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.DLL。

日志:尝试下载新的 URL 文件:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib.EXE。

日志:尝试下载新的 URL 文件:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.EXE。

日志:尝试下载新的 URL 文件:///C:/inetpub/wwwroot/MySite/bin/ICSharpCode.SharpZipLib.EXE。

日志:尝试下载新的 URL 文件:///C:/inetpub/wwwroot/MySite/bin/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.EXE。


现在我知道我确实依赖于此 DLL,但我有版本 我的系统上是 0.85.5。我已经系统地删除了每一个older来自服务器的 DLL 版本,重新编译所有内容并重新发布。

听起来“依赖”正在期待OLDERDLL 的版本。为什么不REPLACE的所有副本NEWER您系统上的版本(0.85.5),以及OLDER版本(0.85.3.365)? (确保检查 Web 应用程序的“bin”文件夹和“GAC”:c:\windows\assemblies)

如果您需要,可以在这里下载旧版本:http://sourceforge.net/projects/sharpdevelop/files/SharpZipLib/0.85.3/ http://sourceforge.net/projects/sharpdevelop/files/SharpZipLib/0.85.3/

NOTE:

  • 替换DLL后,停止IIS并清除所有临时ASP.Net 文件。例如。: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET 文件
  • 另外:请记住更新您的 Visual Studio 解决方案,以便它 参考旧版本。

Cheers

Pete

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DLL 版本控制错误 的相关文章

  • 启动时出现 OData v4 错误:找不到段“Whatever”的资源

    我正在构建新的 v4 服务 一切进展顺利 直到我为新模型 实体添加了新控制器 并在启动站点进行测试运行时收到此错误 控制器似乎编码正确 就像其他控制器一样 控制器 CustomersOData 中的操作 GetFeed 上的路径模板 Cus
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 在新的浏览器进程中打开 URL

    我需要在新的浏览器进程中打开 URL 当浏览器进程退出时我需要收到通知 我当前使用的代码如下 Process browser new Process browser EnableRaisingEvents true browser Star
  • 当下拉列表内部触发选定索引更改事件时,引导模式关闭

    我在 Bootstrap 模式中有一个 ASP NET 图表 一切都工作正常 直到我在里面添加了一个下拉列表 每次我在下拉列表中选择一个新项目时 所选项目更改事件都会触发 并且如果事件内没有代码 则 Boostrap 模式会关闭 这是模式引
  • 回发或回调参数无效。使用“”启用事件验证

    当我从客户端回发页面时 出现以下错误 我有修改客户端 asp ListBox 的 JavaScript 代码 我们该如何解决这个问题 错误详细信息如下 Server Error in XXX Application Invalid post
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • 如何防止 ASP.NET 站点的图像盗链?

    防止人们从我的托管 ASP NET 网站热链接到图像的最佳 最简单方法是什么 我不需要防止所有图像 资源被热链接 我只是想防止热链接到网站上的特定图像 资源 供参考 它托管在 GoDaddy com 上 因此 IIS 技巧可能不起作用 最简
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • Rx 中是否有与 Task.ContinueWith 运算符等效的操作?

    Rx 中是否有与 Task ContinueWith 运算符等效的操作 我正在将 Rx 与 Silverlight 一起使用 我正在使用 FromAsyncPattern 方法进行两个 Web 服务调用 并且我想这样做同步地 var o1
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • Server.MapPath - 给定的物理路径,预期的虚拟路径

    我正在使用这行代码 var files Directory GetFiles Server MapPath E ftproot sales 在文件夹中查找文件 但是我收到错误消息说 给定物理路径但虚拟路径 预期的 我对在 C 中使用 Sys
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大
  • 防止在工厂方法之外实例化对象

    假设我有一个带有工厂方法的类 class A public static A newA Some code logging return new A 是否可以使用 a 来阻止此类对象的实例化new 那么工厂方法是创建对象实例的唯一方法吗 当
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐