为什么ASP.NET无法加载程序集?看起来它正在改变被引用的版本

时间:2010-09-14 17:16:49

标签: c# .net asp.net

我正在尝试构建一个ASP.NET项目,但Visual Studio一直给我错误

(0): Build (web): Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

System.Web.Extensions.dll程序集位于我的GAC中(我将其添加到bin文件夹中,以确保它找不到它)。这里要注意的有趣的事情是,在我的web.config中,我像这样引用程序集:

<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

但是,虽然这引用了Version=3.5.0.0,但在尝试构建时,它显然正在寻找Version=1.0.61025.0

到目前为止,我已经尝试将程序集复制到bin文件夹,通过Add Reference在bin文件夹中引用该程序集,并检查以确保目标框架是.NET 3.5(它似乎是)。谁能告诉我这里发生了什么?

3 个答案:

答案 0 :(得分:4)

System.Web.Extensions.Design,Version = 1.0.61025.0是一个很好的包括在内 在ASP.NET Ajax扩展组件中。为了使用它,你必须 在开发环境中安装它。

如果您之前没有安装过,请下载并安装 http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&displaylang=en

安装完成后,请重新启动Visual Studio并构建解决方案 试。

答案 1 :(得分:0)

检查你的dll位版本(32对64)。我曾经花了半天时间。

答案 2 :(得分:0)

我认为每次项目尝试构建时,bin文件夹中的引用都会丢失,因为在每次构建期间都会重新创建bin文件夹。

尝试将System.Web.Extensions.dll放在除bin之外的项目中的另一个文件夹中。也许是一个名为二进制文件的新文件夹,然后添加对该位置的引用。另外一定要将该引用设置为Copy Local。