场景:我们有一个服务器,上面托管了多个 ASP.NET 网站。几天前,这些网站中有不少“崩溃”并出现以下错误:
警告 44 无法解析此引用。找不到程序集“AjaxControlToolkit,Version=1.0.10920.32880,Culture=neutral,PublicKeyToken=28f01b0e84b6d53e,processorArchitecture=MSIL”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。
经过一番调查,似乎在服务器上安装了(商业)CMS 系统,并且这已将第 3 方AjaxControlTookit添加到全局程序集缓存中。它没有问,它只是添加了它(实际上它添加了两个版本:1.0.10618.0和3.0.20229.0)。这导致了解决冲突,因为相关网站在其本地 /Bin 目录中引用了不同版本的工具包。
所以,我想我的问题是:你认为这个 CMS 在 GAC 中安装这些程序集是否可以接受(特别是考虑到这些程序集是开源库而不是它们自己的)?还是因为在 /Bin 文件夹中引用程序集的方式没有更明确而“崩溃”的网站?谢谢。