错误 1 类型“System.Web.UI.ScriptManager”同时存在于“c:\windows\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0

来源:互联网 发布:淘宝欢迎话术 编辑:程序博客网 时间:2024/04/29 11:52

vs.net 2008中建ajax,调试时出现错误:

错误1 类型“System.Web.UI.ScriptManager”同时存在于“c:\windows\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0__31bf3856ad364e35\System.Web.Extensions.dll”和“c:\windows\assembly\GAC_MSIL\System.Web.Extensions\1.0.61025.0__31bf3856ad364e35\System.Web.Extensions.

查看web.config:

<compilation debug="true">
   <assemblies>
       <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

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

    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Services.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></assemblies></compilation>

ScriptManager控件依据web.config到全局程序集找到两个版本的,(1.开发环境中“引用“文件夹只是提供一个编译时的引用assembly的路径   bin文件夹当然是你编译生成的程序   通常引用中不在GAC中的assembly会拷贝到bin目录下 2.但是一般应用中有的类库,在程序编译后,会讲那些DLL拷贝到BIN目录下面(系统自动的)。因此一般缺少引用的文件,可以到BIN文件夹中去找找,或许有~ ),所以不行。

方法:删除

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

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

依然不能运行,干脆删了ASPAJAXExtSetup.msi ASP.NET 2.0 ajax 1.0版,还不行。原因:先安了vs.net2008(本身已支持ajax,对web.config自动进行了配置),后安装AjaxControlToolkit.zip(版本低),用其中的控件放到网页中,不支持。

解决方法:

下载AjaxControlToolkit-Framework3.5.zip,用其中相应的工具放到网页中,成功。

 

总结:

vs.net2005用AjaxControlToolkit.zip,还需要单独安装ASPAJAXExtSetup.msi,还要进行web.config配置。

vs.net2008直接安装AjaxControlToolkit-Framework3.5.zip即可生成ajax程序,需要额外的工作(web.config自动配置,ajax框架在安装vs.net2008即已安装)。

 

 

原创粉丝点击