<em id="5zzd5"><form id="5zzd5"></form></em>

          <address id="5zzd5"></address>
          <address id="5zzd5"></address>

                      學IT,好工作,就讀北大青鳥

                      北大青鳥電話028-86763871
                      ×

                      當前位置: 首頁 > 青鳥知識 > .Net

                      .NET框架解決DLL Hell問題:問題描述

                      2016-04-12

                      .NET框架與DLL Hell問題:版本問題HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      從客戶的角度,最常見的版本問題就是我們所說的 DLL Hell 問題。簡單地講, DLL Hell 是指當多個應用程序試圖共享一個公用組件(如某個動態連接庫(DLL)或某個組件對象模型(COM)類)時所引發的一系列問題。最典型的情況是,某個應用程序將要安裝一個新版本的共享組件,而該組件與機器上的現有版本不向后兼容。雖然剛安裝的應用程序運行正常,但原來依賴前一版本共享組件的應用程序也許已無法再工作。在某些情況下,問題的起因更加難以預料。比如,當用戶瀏覽某些 Web 站點時會同時下載某個 Microsoft ActiveX? 控件。如果下載該控件,它將替換機器上原有的任何版本的控件。如果機器上的某個應用程序恰好使用該控件,則很可能也會停止工作。HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      在許多情況下,用戶需要很長時間才會發現應用程序已停止工作。結果往往很難記起是何時的機器變化影響到了該應用程序。用戶可能會回憶起一周前安裝了一些東西,但安裝與目前看到的狀態并沒有任何明顯的關聯。 更糟的是,現在很少有診斷工具幫助用戶(或幫助他們的技術支持人員)確定有什么問題。HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      這些問題的原因是應用程序不同組件的版本信息沒有由系統記錄或加強。而且,系統為某個應用程序所做的改變會影響機器上的所有應用程序—現在建立完全從變化中隔離出來的應用程序并不容易。 HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      很難建立一個隔離應用程序的一個原因是當前運行時環境只允許單獨版本組件或應用程序的安裝。這個限制意味著組件的編寫者必須以向后兼容的方式編寫他們的代碼,否則當他們安裝新組件的時候會有終止已有應用程序的風險。實際上,如果可能的話,編寫永遠向后兼容的代碼是非常難的。在 .NET 中,side by side 概念是版本問題的核心。"Side by side" 是在同一臺機器上同時運行不同版本的相同組件的能力。使用支持并列的組件,編程人員不必努力維護嚴格的向后兼容,因為不同的應用程序自由使用某個共享組件的不同版本。HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      .NET框架與DLL Hell問題:發布和安裝HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      現在安裝應用程序是多步過程。一般,安裝一個應用程序包括復制許多軟件組件到磁盤,和在系統中進行一系列描述那些組件的注冊項。 HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      注冊表中的項和磁盤上文件的分隔使復制應用程序和卸載他們非常困難。而且,在注冊表中完全描述某個 COM 類所需的許多項之間關系非常松散。這些項常常包括聯合類、接口、類型庫和 DCOM app ID 的項,不涉及任何放在注冊表文檔擴展或組件類別的項。要時常手工保持這些項的同步。HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      最后,需要該注冊足跡激活任何 COM 類。這極大地復雜了發布分布式應用程序的過程,因為必須到每個客戶端的機器進行適當的注冊項。HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      如今另一個共同問題是:對一個正在運行的應用程序進行更新是不現實的。這是 Web 應用程序最大的問題,Web 應用程序必須停止工作然后重啟動以更新應用程序使用的 COM 類。 HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      這些問題主要由從組件自己分離傳來的組件描述引起的。換句話說,應用程序不是自描述的和獨立的。HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      以上就對需要.NET框架解決的DLL Hell問題進行了簡單的描述。HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站


                      HVq北大青鳥_北大青鳥計算機培訓學校_北大青鳥優越教育官方網站

                      • 成都總部地址:成都市武侯區天益街38理想中心3棟3樓
                        咨詢電話:028-86763871
                        面授課程:啟蒙星課程、軟件開發工程師課程、網絡工程師課程、Java全棧工程師課程、WEB全棧課程、.Net工程師課程、全棧軟件測試培訓、UI/UE設計師課程、大數據培訓、云計算課程
                      • 北京佳音旗艦校區地址:北京市西城區北禮士路100號
                        咨詢電話:400-601-0802
                        面授課程:啟蒙星課程、軟件開發工程師課程、網絡工程師課程、Java全棧工程師課程、WEB全棧課程、.Net工程師課程、全棧軟件測試培訓、UI/UE設計師課程、大數據培訓、云計算課程
                      • 貴陽優越校區地址:貴陽市高新區國家數字內容產業園
                        咨詢電話:400-680-0851
                        面授課程:啟蒙星課程、軟件開發工程師課程、網絡工程師課程、Java全棧工程師課程、WEB全棧課程、.Net工程師課程、全棧軟件測試培訓、UI/UE設計師課程、大數據培訓、云計算課程
                      • 沈陽三好校區地址:沈陽市和平區三好街54號
                        咨詢電話:400-855-1066
                        面授課程:啟蒙星課程、軟件開發工程師課程、網絡工程師課程、Java全棧工程師課程、WEB全棧課程、.Net工程師課程、全棧軟件測試培訓、UI/UE設計師課程、大數據培訓、云計算課程
                      • 蘭州優越校區地址:蘭州市安寧區興安路教育港
                        咨詢電話:0931-7701993
                        面授課程:啟蒙星課程、軟件開發工程師課程、網絡工程師課程、Java全棧工程師課程、WEB全棧課程、.Net工程師課程、全棧軟件測試培訓、UI/UE設計師課程、大數據培訓、云計算課程
                      • 上海人民廣場校區地址:上海市黃浦區云南北路59號六合大廈13樓(人民廣場地鐵口5號出,正北方向500米)
                        寶山校區地址:上海市寶山區紀蘊路588號5號樓B區2樓
                        咨詢電話:021-61113200
                        面授課程:啟蒙星課程、軟件開發工程師課程、網絡工程師課程、Java全棧工程師課程、WEB全棧課程、.Net工程師課程、全棧軟件測試培訓、UI/UE設計師課程、大數據培訓、云計算課程
                      <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>