【发布时间】:2009-01-21 19:12:50
【问题描述】:
当我们尝试访问一个预编译的 ASP.NET 2.0 (Visual Studio 2005) 应用程序时,它会抛出此错误。
编译器错误消息:BC2017:找不到库 'C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll'
两个直接的问题浮现在脑海:
- 我们运行的是 .NET 版本 2.0.50727,而不是 2.0.0.0
- 我们的 GAC 位于“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”,而不是“C:\WINDOWS\assembly\GAC_MSIL\”
很明显,它正在寻找程序集的过时版本,并且在错误的位置寻找它。
很遗憾,我们无法重新编译该应用程序,因为我们正在为客户托管它,并且无法从原始开发人员处获得源代码。有没有办法强制 ASP.NET 应用程序使用当前版本的 System.Web.Mobile.dll 以及它需要的任何其他标准 .NET 程序集?
我们当然会向他们讲解付费开发人员但得不到源代码的危险,但我们肯定会帮助他们让这个东西运行起来,直到他们可以替换它为止。
编辑:事实证明,问题是由于一些影响 GAC 的磁盘损坏造成的。现在我们遇到了一些与重建 GAC 相关的其他 .NET 问题,但这是另一回事。结束这个问题。
【问题讨论】:
标签: .net asp.net-2.0