2010-01-18 67 views
3

我們有一個生產服務器,它具有運行Ajax 1.0和相應工具包(工具包版本1.0.20229)的ASP.net 2.0應用程序。在同一臺服務器上部署ASP.net Ajax 1.0和3.5 Web應用程序

我被要求移動使用ASP.net 3.5的另一個應用程序生成,這也使最新的ASP.NET AJAX和相應的工具包(工具包版本3.0.X)成爲可能。

如果我安裝.Net Framework 3.5(服務器上的當前版本爲2.0),這兩個應用程序是否可以存在於同一臺服務器上?

我應該怎麼做才能確保沒有兼容性問題?

如果問題不明確,請讓我知道。

謝謝

的三月

結果: 安裝的框架3.5。根據錯誤 更改配置文件作了收到這些包括: 刪除folloeing項:

<httpModules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </httpModules> 

不得不採取了對WCF服務的以下部分,除了上面

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
+0

查看以上結果 – TheMar 2010-01-18 22:06:44

回答

1

中的應用應該很好地並行運行。

如果您將ajax控件工具包作爲本地引用的.dll發佈(換句話說,您已將.dll文件添加到項目並引用了本地文件),那麼您應該沒有任何問題工具包。

對於阿賈克斯(System.Web.Extensions程序)的引用,你可以做兩件事情:

2)通過在項目中引用你去設置「SpecificVersion」等於「真」,而這將迫使項目總是參考它的2.0版本

3)只需使用3.5版本。如果SpecificVersion未設置爲true,這可能自動發生,但如果沒有,您可以通過使用映射在你的第一個項目的引用在web.config的bindingRedirect element像這樣:

<configuration> 
    <runtime> 
     <assemblyBinding> 
     <dependentAssembly> 
      <assemblyIdentity name="System.Web.Extensions" 
           publicKeyToken="31bf3856ad364e35" 
           culture="neutral" /> 
      <bindingRedirect oldVersion="1.0.61025.0" 
          newVersion="3.5.0.0"/> 
     </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
</configuration> 

這種方法是侵入性最小的,因爲你根本不需要接觸這個項目。這也適用於任何明確提及System.Web.Extensions 1.0版的第三方DLL。

我已經使用2.0版框架的Ajax版本升級到3.5版本,並沒有出現過單個問題。

祝你好運!

+0

@ womp-感謝您的評論。我將盡快嘗試配置方法,並會返回reults – TheMar 2010-01-18 17:03:17

相關問題