CS0433: 类型“System.Web.UI.ScriptManager”同时存在于“c:\WINDOWS\assembly\GAC_MSIL\System.Web.Extensions\1.0.61025.0__31bf3856ad364e35\System.Web.Extensions.dll”和“c:\WINDOWS\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0__31bf3856ad364e35\System.Web.Extensions.dll”中System.Web.Extensions1.0.61231.0和System.Web.Extensions13.5.30729.1这两个版本都有,程序运行不了,郁闷死了,求大家帮帮忙了!!!我看到C:\WINDOWS\assembly里有这两个文件,我想卸载1.0.61231.0版本的Extensions,提示“其他应用程序需要程序集“system.web.extensions”,因此无法将其卸载”

解决方案 »

  1.   

    项目使用哪个版本就应该是指向哪个版本的啊?
    你的页头那里<%asp注册ScriptManager的时候指向的是什么版本的?
      

  2.   

    在GAC里好像比较麻烦。具体怎么弄也不知道
      

  3.   

    可能是重复引用了,你试试在右侧资源管理器-WEBSITE上右键,PROPERTY PAGES-REFERENCES里面去掉全部引用,再一个一个添加你需要的引用进去。再运行一下看有没报错
      

  4.   

    如果机器上同时安装了VS2008和VS2005,在用2005编译AJAX项目时,可能会出现这样的错误:Compiler Error Message: CS0433: The type 'System.Web.UI.ScriptManager' exists in both 'c:\WINDOWS\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0__31bf3856ad364e35\System.Web.Extensions.dll' and 'c:\WINDOWS\assembly\GAC_MSIL\System.Web.Extensions\1.0.61025.0__31bf3856ad364e35\System.Web.Extensions.dll'解决方案:
    1.打开web.config,找到以下相关结点:
      <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"></add>
        <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.Web.Extensions, 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"/>
    2.将这些结果注释掉或删除,再重新编译就可以了.这是因为VS2005编译的AJAX是1.0的,而VS2008能同时编译AJAX1.0和其他版本的.所以会出现冲突.出错页面提示信息如下:
    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.Compiler Error Message: CS0433: The type 'System.Web.UI.ScriptManager' exists in both 'c:\WINDOWS\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0__31bf3856ad364e35\System.Web.Extensions.dll' and 'c:\WINDOWS\assembly\GAC_MSIL\System.Web.Extensions\1.0.61025.0__31bf3856ad364e35\System.Web.Extensions.dll'Source Error:Line 8:  <body>
                Line 9:      <form id="form1" runat="server">
                Line 10:         <asp:ScriptManager ID="ScriptManager1" runat="server" />
                Line 11:         <div>
                Line 12:             <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    Source File: d:\AJAXEnabledWebSite1\Default.aspx    Line: 10 
      

  5.   

     回复8 楼 chenguang79 
    你好,这个我也看了,我的机子就只装的是VS2008,web.config相关代码如下:
    <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <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"/>
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>根本不存在<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> </add> 
      

  6.   

    如果是VS2005做得ajax系统,用VS2008打开有问题。装个asp.net 2.0 ajax templates for visual 2008 试试
      

  7.   

    另外,装上ASPAJAXExtSetup.msi(asp.net 2.0 ajax 扩展)和ASPNETAJAXVS2008.msi(asp.net 2.0 ajax templates for visual 2008)后,在VS2008中拖入System.Web.Extensions1.0.61231.0和System.Web.Extensions13.5.30729.1不同版本的ScriptManager都不会出错的。我机器上就是这么弄的
      

  8.   

    楼主 不知道你解决了没有  如果没有的话   我刚遇到和你一样的问题 我的解决方法是  在源页面 把那个        <asp:ScriptManager ID="ScriptManager1" runat="server" />  去掉 然后 再换成        <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
            </asp:ToolkitScriptManager>   就可以了 希望你好运了
      

  9.   

    因为 你使用到了版本比较高的控件扩展 但是使用的 那个 ScriptManager 可能不包括对高版本控件的支持吧  我猜的
      

  10.   

    将所有
    Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    改成
    Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    即可!!!当然你bin里头dll是哪个版本就改成哪个。
    都在页头或是Web.config.
    我刚有出现过和楼主类似的状况,就这样……。
      

  11.   

    把bin文件或者生成dll的文件夹中的System.Web.Extensions1.0.61231.0这个dll删除就可以了。
    另外System.Web.Extensions.Design .1.0.61231.0这个不知道要不要删除,反正我2个都删除了就好了。