2011-05-27 50 views
1

我見過關於爲什麼.NET Framework 3或3.5或4都不錯的問題和答案。但是我已經有了一個可以編譯所有這些版本的應用程序,包括2.我很想知道,如果我使用.Net 2編譯我的應用程序並分發它,是否會出現問題。 (第2版原生窗口的許多版本suuported。)爲什麼在2工作時使用.net framework 3.5?

是否有性能或與舊版本或東西,我應該知道的速度問題?

非常感謝

回答

12

沒有,有繼續使用.NET 2,如果你想沒有問題。

在我看來,使用.NET 3.5的主要好處是你可以使用LINQ(沒有額外的庫,比如LINQBridge),這可能會讓你的代碼更簡單。因爲.NET 3和.NET 3.5是.NET 2的補充,所以不應該有任何性能差異 - 與.NET 3.5隨.NET 2.0 SP1一起提供的警告,所以有一個幾個修改...但是,如果您在安裝了.NET 3.5的計算機上運行.NET 2.0應用程序,它仍然會運行SP1代碼,因此,實際上您是否已經實現了.NET 2.0或3.5的目標沒有區別。

+0

你可以告訴案件.net 4.0? – 2011-05-27 15:14:04

+1

@Srinivas:.NET 4略有不同 - 這是一個新的CLR,並且庫已經更新。在.NET 4下運行時,你會看到性能提高的可能性更小,並且稍微有點可能會發現重大更改。雖然可能不顯着。 – 2011-05-27 15:58:22

1

好吧,不是真的。

如果您的應用在2.0上運行,那麼它也可以在3,3.5和4.0上運行,因爲它們向後兼容。

1

如果你與2.0相處,然後編譯爲2.0,沒有理由人爲地提出要求。

但是,如果您沒有使用任何3.0+功能,我會建議您瞭解所有新功能。它會加快您的開發並改善您的代碼。

1

該參數有多遠?如果最初的問題曾問過爲什麼要用3.5或4.0進行1.0工作,答案會不一樣?

在某些情況下,存在持續時間過長而不適應過時平臺的風險。您可能仍然可以使用2.0,但是後面的2個版本可能會達到我推送它的程度。

+0

+1謝謝,我沒有想到這一點。 – Auxiliary 2011-05-27 12:51:26

+1

我想說,阻止回到.NET 2.0並停在那裏。現代操作系統默認沒有安裝.NET 1/1.1,但它們都具有2.0運行時(Vista和Win7)。此外,針對VS 2008/2010的多目標定位適用於.NET 2,3,3.5和4,但不適用於1.0。 – 2011-05-27 15:27:39

1

我認爲這取決於您的使用情況。

這是應用程序:

  1. 客戶端部署到各種Windows客戶端(如消費類勝利應用)
  2. 部署到您的企業客戶端(他們會管理.NET
  3. 服務器端應用程序,你銷售和其他安裝
版本)
  • 服務器端應用程序在你的數據中心

    如果它是#1,那麼您希望將.NET 2作爲您的需求套件。在不更新.NET的情況下,您可能需要最少量的用戶摩擦。 Windows 7帶有.NET 3.5,帶有.NET 3的Vista(類似於服務器操作系統)。

    如果你知道你的目標是Win7以上的用戶,那麼.NET 3.5是好的。至於其他的海報提到的,.NET 3.5 VS 2.0的主要好處是真的

    • LINQ
    • WPF
    • WCF

    如果你是#2情景上面,然後通過各種意味着使用.NET 4.有許多改進,包括LINQ,但在運行時也是如此,如果您控制系統,那麼從軟件的角度來看,未來6年是絕對值得的。 #3更是如此。

    對於#4,您必須決定這是否是客戶的問題。大部分時間不是,但可以。

    當然,無論使用現代工具,您都可以使用VS 2010's Multi-Targeting功能。

    不久之前,我寫了http://chatpast.com的客戶端部分,它必須安裝。儘管這很痛苦,但我在Windows Forms和.NET 2.0中寫道,因爲這是最不可能導致用戶出現問題並需要.NET安裝/升級的問題。但服務器端代碼都是.NET 4.0。

    所以我想你甚至可以說它不是純粹的,也不是選擇。考慮部署的每個部分的意義。

  • +0

    神奇的細節。我的應用程序實際上是#1的情況,所以我會堅持使用.Net 2. – Auxiliary 2011-05-27 15:52:18

    +0

    @輔助 - 謝謝!順便說一句,如果你認爲這回答了你的問題,一定要在問題/答案選項中接受它。 – 2011-05-27 18:23:31

    相關問題