代码之家  ›  专栏  ›  技术社区  ›  Greg

强制ASP.NET 3.5网站使用System.Web.Extensions的1.0.61025.0版本

  •  1
  • Greg  · 技术社区  · 16 年前

    我刚刚将我的网站项目从2.0升级到3.5,以利用TimeZoneInfo类。当我这样做的时候,我开始得到一个模棱两可的程序集错误(*see below)。问题是,我没有使用scriptmanager,一个旧版本的syncfusion是。我现在无法升级SyncFusion,所以我需要告诉ASP.NET使用该程序集的1.0.61025.0版本。

    我从web.config中删除了所有3.5脚本的内容,并向其中添加了bindingRedirects,但没有成功。

    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="3.5.0.0" newVersion="1.0.61025.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="3.5.0.0" newVersion="1.0.61025.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    

    类型“system.web.ui.scriptmanager” 模棱两可:可能来自 装配 'C:\inetpub\wwwroot\xxx\bin\system.web.extensions.dll' 或从组件 'C:\windows\assembly\gac_u msil\system.web.extensions\3.5.0.0_uuu31bf3856ad364e35\system.web.extensions.dll'。 请显式指定程序集 在类型名中。

    1 回复  |  直到 10 年前
        1
  •  2
  •   David Gardiner    10 年前

    不能更改编译元素中程序集的版本吗?

    <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" />
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        </assemblies>
    </compilation>