我有一个包含多个类库和网站的解决方案。该解决方案内置于.net 2.0 Visual Studio 2005中,后来转换为.net 3.5(所有类库和网站都针对3.5框架)。
在安装更新之前,网站运行良好。之后,构建失败
using System.Web.Extensions;
错误消息为:“The type of namespace Extensions does not exist in the namespace System.Web (are you missing an assembly reference?)
”。
我查看了.net 2.0框架文件夹,而System.Web.Extensions .dll确实没了。但是C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.5文件夹具有.dll。 GAC显示了两个System.Web.Extensions,旧的1.06版本和新的3.5版本。我将web.config重新绑定到新版本。
我检查了我的引用,删除了旧的引用,并添加了对.3.5版本的System.Web.Extensions的引用。它不起作用,在同一个地方构建失败。
然后我将.dll复制到我网站的bin中,然后将引用指向那里。这也没有用,解决方案没有构建,当我查看引用时,它似乎没有对bin文件夹中的文件的引用。
注意:系统安装了.net 1.1,Visual Studio 2003和2005。
有人能指出我能做些什么来解决这个问题吗? 我知道卸载3.5 sp1更新会修复它,但我宁愿保留它。
谢谢 DEB
答案 0 :(得分:0)
Asp.NET .NET Framework 2.0的Ajax扩展是独立的。 .NET Framework 2.0中不包含Ajax扩展。你需要单独安装它。希望它已经安装在你的机器上。
你应该保留旧的dll,不要升级,因为它需要对代码进行大量更改。 我建议你用升级的项目保留旧的dll参考。
确保您已正确引用dll 要么 删除现有引用并使用旧的system.web.extension dll添加引用。
它适用于.NET Framework 3.5。
编辑:
1.首先从项目中删除新版本引用
2.重新安装.NET Framework 2.0的Ajax扩展
http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&displaylang=en
3.使用旧版本的dll文件添加引用
4.确保web.config具有正确的引用。
答案 1 :(得分:0)
您是否检查了web.config中添加的程序集?是否添加了System.Web.Extensions
3.5?
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>