說明Framework 1.1框架配置兼容性
一直以來,我都是使用同一臺機器上運行VS.NET 2003 beta版和最初版本的VS.NET。每個版本用的都是Framework 1.1的框架,這樣大大的提升了框架的匹配需求,只安裝了Framework 1.1的機器上運行全套的測試套件。
這一點非常棒,但仍會有一些版本問題。例如,假設你的用戶沒有很快地升級框架來匹配需求。只要你避免在框架中運用1.1版本的任何新功能,你就可以針對1.0框架來構建你的程序集。VS.NET可以讓你在創(chuàng)建應用程序時,針對Framework 1.1、Framework 1.0或兩者兼顧。注意,這些設置不會改變程序的可執(zhí)行性,而是會改變你的應用程序的配置文件。配置文件指定了要加載的每個.NET Framework程序集的版本。#t#
遺憾的是,如果你創(chuàng)建的應用程序同時兼顧了Framework 1.0和Framework 1.1版本,那么你就需要做更多的測試。如果應用程序兩者兼顧,那么在設計時,VS.NET用Framework 1.1構建應用程序。在運行時,如果VS.NET用Framework 1.0配置應用程序,就會出錯。如果應用程序在Framework 1.0上運行時運用了1.1的功能,那么就會出現(xiàn)一個運行錯誤。幾個月來,我一直運用該功能創(chuàng)建目的框架為Framework 1.0的應用程序。的確很有用,只要你確保程序只用Framework 1.0。測試應該會發(fā)現(xiàn)任何問題,但在發(fā)布任何軟件前,你應該在只安裝了Framework 1.0的機器上運行全套的測試套件。
VS.NET 2003延續(xù)了Microsoft對推動企業(yè)開發(fā)所做的努力。它的一個副作用就是程序變得越來越大了。例如,我有一個解決方案,它包含了40多個不同的項目。在處理這種類型的解決方案時,最初版本的VS.NET有時侯會有問題。VS.NET 2003解決了該問題,現(xiàn)在,當你處理一個特定的解決方案時,可以更容易在項目之間進行切換。VS.NET 2003也可以記錄你現(xiàn)在正編輯的是哪個項目。這就意味著,Framework 1.1運用當前項目的任何命令(如Find in Files)都只對當前項目起作用。如果你想自己設置當前項目,可以關閉該功能。只需要導航到Tools|Options,然后在Envrironment | Projects and Solutions中清除“Track Active Items in Solution Explorer”項就可以了。
另外一個很酷的功能是引用Web命名。假設你在開發(fā)機器上構建了一個Web service和一個Web service客戶端,目的是可以在其它地方部署該Web service。最初的VS.NET版本會為這些Web services創(chuàng)建一個名為“l(fā)ocalhost”的名字空間。VS.NET 2003可以讓你給這個Web service引用一個更有意義的名字。
的確,移動性、安全性以及對框架的其它改進都很好。但我最喜歡的新功能是接口的代碼生成功能。在你使用C#或VB.NET時,如果聲明了對某個函數(shù)的支持,IDE就會為它添加stubs。在C#中,你需要按Tab鍵。然后VS.NET會添加stubs并將它們放在一個區(qū)域中。在VB.NET中,當你編寫了Implements語句后按Enter時,VS.NET 2003就添加了方法。當你在編寫大的接口或來源于其它接口的接口時,跟蹤遺漏了哪些函數(shù)或輸錯了哪些函數(shù)時,該功能就可以節(jié)省許多編譯周期。
當然,最終的問題是:你需要VS.NET 2003嗎?該版本不像最初版本那樣很具創(chuàng)新性,但Framework 1.1中引進的許多功能可以讓你節(jié)省很多時間和精力,可以讓你將更多的精力集中在你想創(chuàng)建的解決方案上,而不是你用來創(chuàng)建該解決方案的代碼和環(huán)境上。例如,與事件處理程序結合在一起的接口自動生成代碼功能和C#中的覆蓋功能每天就可以節(jié)省我?guī)讉€小時的代碼輸入時間。另外,Framework 1.1增強的安全性能對客戶來說也是個很好的功能,如今,沒有人愿意帶來任何病毒危險。即使你不會立即運用移動性功能,但在不久的將來你一定會需要該功能的。