前两天,在编写ASP.NET 2.0的项目时,用到了Ajax Extension,.NET 2.0用的Ajax Extention是 1.0.61025.0 版本的。碰巧在开发的电脑上装了VS2008。问题出现了,再编译2.0这个项目,然后发不到Server上之后,运行Server上的这个WebSite,出现错误
Could not load file or assembly 'System.Web.Extensions, Version=3.5.0.0......', 这时候打开Web.Config,会发现在<assemblies>节中有两个配置节:
<add assembly="System.Web.Extensions.Design, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
从上面的代码可以看到,编译器把System.Web.Extensions的3.5的版本编译进来了。把这个版本号改成1.0.61025.0,再编译一次,部署到Server上,运行Server上的WebSite。仍然会出现这个错误。
解决这个问题也很简单。到VS2008 Beta 2 的
Download页面,他们说:
IMPORTANT: After the Beta 2 installation has finished, you should run this script to ensure that the installation of .NET Framework 3.5 Beta 2 will not affect the development of ASP.NET AJAX 1.0 applications.
原来我没有下载并运行这个脚本,在网上搜一下发现并非一个人遇到这个问题,我相信并不是所有人读过VS下载页面的这个文章。安装VS2008后,下载这个脚本运行一下,这个问题就解决了。
引用
Could not load file or assembly 'System.Web.Extensions, Version=3.5.0.0