我刚刚将我的网站项目从2.0升级到3.5,以利用TimeZoneInfo类。当我这样做时,我开始收到一个模糊的汇编错误(*见下文)。问题是,我没有使用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 \斌\ System.Web.Extensions.DLL' 或从集会 'C:\ Windows \组件\ GAC_MSIL \ System.Web.Extensions程序\ 3.5.0.0__31bf3856ad364e35 \ System.Web.Extensions.dll'。 请明确指定程序集 在类型名称中。
答案 0 :(得分:2)
您是否可以在编译元素中更改程序集中的版本?
<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>