2009-06-11 120 views

回答

12

默認情況下,.NET應用程序運行在以OS架構爲目標的框架上。因此,如果您運行的是32位Windows,則該機器上安裝的.NET框架將是32位框架。運行在此框架上的所有.NET應用程序都將以「32位」運行。

如果您運行的是64位Windows,那麼您正在運行64位框架,但在框架頂部運行的IL與32位IL的IL沒有區別(默認情況下)。

所以簡而言之:如果你運行的是32位或64位Windows,那麼這並不重要,因爲.NET框架將它從C#/ VB代碼中抽象出來。

Microsoft.Win32框架是指Windows內部的本地API。除了微軟給出的真正糟糕的名字之外,它與32位和64位Windows沒有任何關係。

順便提一下,64位版本的框架不能完成一些事情:例如,64位框架中沒有JET數據庫驅動程序。

+0

很好的答案!有沒有人跟蹤.NET中的64位差異? ---也許是博客? – rasx 2009-06-12 20:36:10

0

出於同樣的原因,我們有64位二進制文​​件存儲在64位Windows的system32文件夾中。

基本上,這是因爲Microsoft.Win32中的內容不是特定於32位Windows的。爲什麼他們會損害便攜性而沒有任何好處?

1

「Win32」是平臺的名稱(即核心API集合),而不管OS的實際位數。換句話說,不要擔心:)