ASP.NET 2.0“BC2017:找不到库” - 如何强制.NET查找正确的版本?

问题描述 投票:0回答:2

当我们尝试访问它时,预编译的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'

脑海中涌现出两个直接问题:

  1. 我们运行的是.NET版本2.0.50727,而不是2.0.0.0
  2. 我们的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
2个回答
2
投票

如果你把它正在寻找的DLL放在与应用程序本身相同的文件夹中,它应该首先查看它然后再回到GAC中的版本

编辑:刚刚发现http://www.dll-files.com/。您可以检查ID是否具有正确版本的DLL


1
投票

将模式更改为发布>构建解决方案>再次更改为调试>构建解决方案。


0
投票

我有一些似乎已经包含在项目中的课程,但事实证明他们没有。删除/添加回来,现在它构建,类库DLL存在的其他项目和错误消失。

© www.soinside.com 2019 - 2024. All rights reserved.