2010-09-13 27 views
1

我是.NET新人。 我剛剛用.NET-versionn 4.0構建了我的第一個應用程序,並且想知道是否明智地選擇了儘可能降低目標框架(可能爲3.0),如果它仍然有效。構建.NET應用程序總是儘可能低的框架版本?

什麼是最佳實踐,當涉及到選擇適當的.NET版本?

+2

誰是你的目標用戶羣? – 2010-09-13 22:35:40

+1

關於你想要做什麼的一點背景也會有幫助。例如,如果您想使用Windows Presentation Framework,則必須至少使用3.0(但我會推薦3.5)。 – Skurmedel 2010-09-13 22:37:46

回答

2

如果你的目標是Windows桌面用戶,你可以非常確定他們至少有.NET 2.0,可能更高。他們不太可能擁有.NET 4。除非您瞭解受衆(例如,商業客戶),否則選擇.NET 4可能會限制您的覆蓋範圍。由於它基於CLR(公共語言運行時)版本4構建,因此.NET 4在一段時間內引入了第一個真正的平臺更改。在此之前,.NET 2.0,3.0和3.5都運行在版本2的第2版上CLR。

.NET 2.0,3.0和3.5的唯一區別在於框架(庫)。大多數庫不變,但每個版本都添加了新庫。這取決於你使用的庫。如果您在應用程序中包含所需的所有庫,那麼您可以運行.NET 3.5在.NET 2.0上可以執行的任何操作。

如果您需要一種將.NET 3.5時代庫分發給.NET 2.0用戶的合法方式,則可以從Mono Project運送某些程序集。

例如,您可能會發現您需要的唯一.NET 3.5程序集是System.Core.dll。如果您的應用程序中包含Mono版本的System.Core.dll,即使您使用「.NET 3.5」功能(例如LINQ),它也可以在.NET 2.0及更高版本上正常運行。

如果您使用的是ASP.NET,那麼它們的功能並不重要,因爲您只是給它們提供HTML。

編輯:我不知道Windows Presentation Foundation(WPF)需要一個服務運行。我已經使用Mono爲.NET 2.0應用程序添加.NET 3.5功能,但我沒有使用WPF。

你不能從任何地方獲得WPF程序集,但微軟雖然所以你不能重新分配這些。 Mono項目傾向於將GTK#用於GUI,儘管Windows Forms也可以跨平臺使用。

+0

「如果您在應用程序中包含所需的所有庫,那麼您可以運行任何.NET 3.5可以執行的操作。 NET 2.0「:不幸的是,這並不容易。它可能適用於某些組件,但這只是純粹的運氣。一般來說,您必須運行.NET Framework安裝程序才能正確設置所有設置。例如。要使用WPF,您必須運行一項服務。 – 2010-09-13 22:50:52

1

選擇要支持的框架版本主要是您的目標用戶組的問題。

  • 如果你正在開發一個 企業環境的工具,你可能會 由 的 公司支持的默認配置(有時 可能是一個版本或兩個背後的框架版本的限制 最新版本) - 或者你很幸運 和IT部門願意 升級他們的平臺到最新的 版本。

  • 如果你的目標家庭用戶,你 應該考慮到不是每個人都 已經有安裝了最新的框架 版本,而不是每一個用戶 願意下載和安裝一個 新版本只是爲了使用您的工具。所以 你需要考慮是否允許 忽略這些用戶。

當然,您可以隨時在您的設置中包含最新版本,但不要忘記框架安裝需要管理權限。

相關問題