2011-07-13 80 views
0

這可能是一個愚蠢的問題,但使用谷歌搜索並不是非常有效。維基百科對這件事也沒有幫助。.NET框架4是否包含版本3?

我有一個庫,需要.NET框架3,但我有版本4安裝,我需要安裝的東西嗎?當其他人下載我的代碼時,也會出現同樣的問題:我需要提供哪些說明。

回答

4

不,你不需要安裝任何東西。 CLR 4.0(由.NET 4.0使用)可以加載和運行鍼對.NET 3.0編譯的程序集。但是與CLR 2.0相比,它們將在CLR 4.0下運行。雖然沒有必要如果你有源代碼,你可能會重新編譯它,目標.NET 4.0。當然是相反的:爲.NET 4.0構建的程序集將無法在CLR 2.0上運行。

而且@marc_s在註釋中提到,如果您確實需要單獨使用CLR v2(.NET 2.0/3.0/3.5),您需要單獨安裝合適的.NET Framework - .NET 4不會包括「舊」CLR v2

+1

+1點好 - 但是,如果你確實需要的CLR V2(.NET 2.0/3.0/3.5)分別對於某些重要的,你需要單獨安裝一個合適的.NET框架 - .NET 4不包括「舊」CLR v2 –

+0

@marc_s,是的,這是真的。非常好的一點。我會更新我的答案並將其考慮在內。 –

1

嗯,嚴格地說,.NET 4不包含.NET 3.它甚至基於不同的運行時。但是,.NET 4應用程序可能會使用.NET 3庫(您可能會在app.config中進行一些特殊設置)。更好的方法當然會獲得.NET 4版本的庫。

(例如,如果您的應用程序使用混合模式組件,您可能需要useLegacyV2RuntimeActivationPolicy標誌。)

+0

+1。 @Matthieu:請現在在4.0的一個庫中重新編譯你的庫。否則你將很難保持:) – naveen

相關問題