我的機器只有visual studio 2010。但是,當我查看「clrver」的visual studio命令提示符時,它顯示我的計算機中安裝了兩個版本的CLR-v2.0.5和v4.0.3適用於visual studio 2010的clr版本
從此鏈接中,我只理解CLR版本v4 .0.3應該可以在我的機器上使用。 http://msdn.microsoft.com/en-us/library/bb822049.aspx
但我很困惑我是如何得到v2.0.5。請解釋?
我的機器只有visual studio 2010。但是,當我查看「clrver」的visual studio命令提示符時,它顯示我的計算機中安裝了兩個版本的CLR-v2.0.5和v4.0.3適用於visual studio 2010的clr版本
從此鏈接中,我只理解CLR版本v4 .0.3應該可以在我的機器上使用。 http://msdn.microsoft.com/en-us/library/bb822049.aspx
但我很困惑我是如何得到v2.0.5。請解釋?
Visual Studio 2010允許您編寫針對多個版本的.NET Framework(2.0,3.0,3.5和4.0)的應用程序。
從鏈接到的文章您會注意到,.NET Framework版本2.0,3.0和3.5都共享相同的CLR版本:2.0,而4.0使用CLR的新版本4.0。
因此,爲了VS2010允許您在2.0-3.5項目上工作,需要安裝2.0 CLR。這就是它被安裝的原因。
簡單地說,當clrver告訴
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>clrver
Microsoft (R) .NET CLR Version Tool Version 4.0.30319.17929
Copyright (c) Microsoft Corporation. All rights reserved.
Versions installed on the machine:
v2.0.50727
v4.0.30319
這實際上意味着
輸出只與安裝在yo上的.NET框架有關你的機器,並不依賴於你使用的是哪個版本的Visual Studio。
CLR v2.0.50727由.NET 2.0/3.0/3.5共享,而CLR v4.0.30319由.NET 4.0和4.5共享。請嘗試將.NET Framework和CLR作爲單獨的概念處理。我知道初學者很難區分它們。
請注意,它是v2.0.50727
,而不是2.0.5
伴侶,因爲2.0.50727
是一個原子概念。這也適用於v4.030319
。
您對MSDN文章的解釋不正確。爲避免進一步的誤解,您可以通過C#等CLR書籍閱讀更多關於CLR的內容。
CLR v4.0.3不支持.net framework 2.0,3.5和4.0的向後兼容性,還是我們需要單獨的CLR v2.0? – 2013-03-20 04:45:12
向後兼容性有限,但與Java不同,Microsoft並未承諾向後兼容,因爲需要更改行爲並棄用和刪除過時的元素。當然,大部分瞄準2.0的程序都可以在4.0上運行,但這並不能保證。 – Dai 2013-03-20 04:48:17
嗯... Thnx ... + 1 from me .... – 2013-03-20 04:51:24