我们的ASP.NET 网站使用了一些外部程序集,例如AjaxControlToolkit.dll、AjaxMin.dll、DocumentFormat.OpenXml.dll 等等。它们在 References-Node 中注册。一切正常,但在最新的 Windows 更新后,我收到以下错误:
无法加载文件或程序集“AjaxControlToolkit”或其依赖项之一。无法验证强名称签名。该程序集可能已被篡改,或者它被延迟签名但未使用正确的私钥完全签名。(来自 HRESULT 的异常:0x80131045)
如果我使用工具 sn.exe 检查 AjaxControlToolkit.dll,它会显示该 dll 是有效的。我还尝试使用源代码编译 AjaxControlToolkit。我已经用强名称对其进行了签名,并且 sn.exe 已显示有效。我曾尝试使用 gacutil.exe 将 ist 安装到全局程序集缓存,但这失败了,尽管有同样的问题,强名称有问题,我也有自编译和签名等等。
但这不是问题,因为如果我从网站的 bin 文件夹中删除 AjaxControlToolkit.dll,在 iis 中运行,那么下一个 dll 会产生同样的错误,无法加载 AjaxMin.dll。
如果我删除 AjaxMin.dll,DocumentFormatOpenXml.dll 会产生相同的错误。
我们正在使用 Visual Studo 2010,并且我们在 Windows Server 2008 R2 中托管了我们的网站。
亲切的问候