2011-08-10 56 views
2

工作IDE是Visual Studio 2010和该项目的目标框架是.NET4AjaxExtensions和.NET框架4

我得到的错误Type 'System.Web.UI.ScriptManager' is not defined

添加的ScriptManager组件和建设项目后。

实际上,我在添加UpdatePanel后也得到了相同的错误类型。

该项目有一个参考C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.dll

你能告诉我这到底是怎么回事呢?

据我所见,创建一个新的新的虚拟web项目后,我添加脚本管理器对象没有错误。 (所以现在我100%确定这个错误与我的项目中的配置有关)。

顺便说一句,如果尝试添加引用到System.Web.Extensions IDE崩溃!

+1

不确定这里有足够的信息可以帮助。你怎么没有从GAC引用System.Web.dll? – TheCodeKing

回答

6

你得到错误Type 'System.Web.UI.ScriptManager' is not defined,因为你实际上需要一个参考System.Web.Extensions库,但你可能已经知道了这一点。这似乎很奇怪,但你对System.Web的引用似乎来自你的Program Files而不是GAC。这可能与您遇到的崩溃有关。

请试试这个:

  • 关闭Visual Studio的
  • 打开一个文本编辑器(如记事本 ++)
  • 外观为的ItemGroup节点Web应用程序的文件.csproj的;这包含你的项目引用
  • 更改您参考的System.Web看起来像这样:Reference Include="System.Web"
  • 添加其他行:Reference Include="System.Web.Extensions"
  • 保存并关闭
  • 现在打开你的项目又在VS,看看它是否已帮助
0

您必须在某处丢失参考。由于您使用的是vs2010,因此您可以安装Nuget package manager,并使用它来添加AjaxControlToolkit。

Nuget会自动将所有必需的引用(以及依赖关系,如果有的话)添加到您的项目中。它只是使您在项目中引用外部程序集变得更加容易。

0

查看您的web.config并删除对任何系统库的引用。这将确保您从GAC获得版本(请确保首先备份您的web.config)。更好的办法是完全删除你的web.config(备份!)。运行该项目,并提示您创建一个新项目。这样做,看看你是否有同样的问题。

编辑:语法