以下整理一些關於 .NET 開發的一些資訊以及資源,希望對新手,老手或半老手都會有一些幫助。
1. 開發工具下列是目前坊間 .NET 開發幾個常用的開發工具以及一些簡單的比較:
Microsoft Visual Studio 2010Visual Studio 系列為微軟針對軟體開發的旗艦產品,從 Visual Studio .NET (2002) 開始到目前的 Visual Stdio 2010,整個重心從 COM 轉移到 .NET 平台。基本上每一個 Visual Studio 版本會對應到一個 .NET Framework 版本,但自從 .NET Framework 3.0 之後這個架構有了一點小改變,以下為各個 Visual Studio 版本以及所支援對應的 .NET Framwork 版本:
Visual Studio .NET (2002) - .NET Framework 1.0
Visual Studio .NET 2003 - .NET Framework 1.1
Visual Studio 2005 - .NET Framework 2.0
Visual Studio 2008 - .NET Framework 2.0, 3.0 和 3.5
Visual Studio 2010 - .NET Framework 2.0, 3.0, 3.5 和 4
以下是Visual Studio 2010 各個版本的介紹以及比較:
http://www.microsoft.com/taiwan/vstudio/2010/products/default.aspxVisual Studio Express 版本,網頁無中文版但軟體有:
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express以我個人的使用經驗上來講,Express 版本實際上對於中小型專案已經非常足夠, 很多不足的功能可以用 third party 來彌補 (比如說單元測試可以用 NUnit,分析可以單獨用 FxCop 等等)
SharpDevelop如果你慣用開放原始碼的軟體的話,這裡有一套叫做
SharpDevelop,而且目前他也支援 WPF 應用程式的開發。它對於 C# 的支援非常不錯,執行的速度比 Visual Studio 快,但唯一的缺點是 VB.NET 支援就差了點,不過還有支援 Target Mono。它可以跟 Visual Studio 共存,有興趣的人可以試試看。
2. .NET Framework微軟從 2001 年推出 .NET Framework 1.0 之後,至今已經到了 3.5。其中有些版本是新增功能,有些是大改版,有些則是新增功能,會有一點混亂。以下列出各個版本間的差異,以及到底用戶要怎麼裝才能用你開發的程式:
.NET Framework 1.0 & .NET Framework 1.1 - 1.1 為 1.0 的大改版,包含了所有 1.0 的功能,所以系統只要裝 1.1 就可以執行針對 1.0 開發的應用程式。Runtime 為 CLR 1.1。
.NET Framework 2.0 - 2.0 為 1.1 的大改版,只要裝 2.0 就可以執行 1.0/1.1 的程式, runtime 升級為 CLR 2.0.
.NET Framework 3.0 - 3.0 只是 2.0 的「增強功能」(WPF,WCF,WF 等等) 版,所以用 3.0 開發出來的,要裝 2.0 也要裝 3.0 才行。
.NET Framework 3.5 - 3.5 為 2.0 跟 3.0 的小更新加上新功能,所以要先裝 2.0 跟 3.0,才能裝 3.5 以及執行 3.5 開發出來的應用程式。
.NET Framework 4 - 4 為 3.5 的大改版,runtime 從 CLR 2.0 改成 CLR 4.0。
理論上只要裝 .NET Framework 4 就可以向下相容所有的版本,如果有特殊需求的話所有版本也是可以共存。
以下是幾個微軟作業系統內建包含的 .NET Framework 版本:
Windows XP SP3 - 沒有,全部要另外裝
Windows Server 2003 - .NET Framework 1.1,且好像不可以反安裝
Windows Vista - 預設裝到 .NET Framework 3.0
Windows Server 2008 - 預設什麼都不裝,但可以選擇性裝到 3.0
Windows 7 - 預設裝到 .NET Framework 4
以下列出幾個對於 .NET Framework 開發 (不管是什麼 IDE) 很好用的免費工具:
NUnit - 免費的單元測試平台,如果使用Standard/Express 版本或 SharpDevelop 的話,就可以用他來彌補功能上的不足。單元測試的品質還是靠撰寫的人,所以工具只是輔助,NUnit 不見得不會比 Visual Studio 內建的測試功能還遜色。
FxCop - 程式碼分析工具,會針對一些內建的規則(可自訂)來檢查你的程式碼是否符合設計的 guideline。
CLR Profiler - 免費的 Profiler 工具,可讓你找出程式效能的瓶頸或是 Memory Leak 的問題,缺點在於你需要對 CLR 有一定程度的了解才看的懂它在做什麼。
.NET Reflector - 超棒的 .NET 反組譯工具(decompiler),如果你想看一下微軟 .NET Framework 類別庫裡面的程式碼到底是怎麼寫的,可以用這個工具來看。
ILMerge - 可將一個或多個 Assembly 組成一個,比如說你程式有參考 10 個 dll 有些不是你開發的,你想把他全部整合到一個 exe 再給使用者,此時就可以用 ILMerge。
Enterprise Library 4.0 - 這是微軟針對企業級應用程式開發時常遇到的問題而推出的一組元件庫,裡面包函了直接可用的元件,比如說快取功能,加密/解密功能,安全性等等,都是模組化而且很多功能可以透過設定檔自訂,非常實用。
3. 文件MSDN Library 線上版:
http://msdn.microsoft.com/zh-tw/library/default.aspx4. 資源MSDN 台灣 - 微軟常常會舉辦一些免費的研討會,大家可以訂閱他們的 RSS 來取得最新研討會資訊。
點部落 - 整合各個有名的 .NET 開發者部落格內技術文章的網站,時常有一些有趣的文章。
微軟技術社群討論區