2010-05-17 9 views
1

방금 ​​TimeZoneInfo 클래스를 활용하기 위해 웹 사이트 프로젝트를 2.0에서 3.5로 업그레이드했습니다. 이 작업을 수행 할 때 모호한 어셈블리 오류가 발생하기 시작했습니다 (* 아래 참조). 문제는 ScriptManager를 사용하지 않고 있습니다. 이전 버전의 SyncFusion이 있습니다. 지금 SyncFusion을 업그레이드 할 수 없으므로 ASP.NET 1.0.101025.0 어셈블리를 사용하도록 ASP.NET에 알려야합니다.ASP.NET 3.5 WebSite에서 System.Web.Extensions의 버전 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 \ assembly \ GAC_MSIL \ System.Web.Extensions \ 3.5.0.0__31bf3856ad364e35 \ System.Web.Extensions.dll '에서 가져옵니다. 형식 이름에 명시 적으로 어셈블리를 지정하십시오.

답변

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> 
+0

나는 그것을했으나 어셈블리에 대한 중복 레코드가있었습니다. – Greg

+0

그리고 복제본을 제거하셨습니까? 요소 항목이 아직 존재합니까? –

+0

예, 문제가 해결되었으며 런타임 요소를 제거 할 수있었습니다. 감사. – Greg