我們有一個Microsoft.Win32命名空間,但它能保證在64位Windows環境中工作嗎?對於64位的情況,是否存在相同的需求?爲什麼沒有Microsoft.Win64命名空間?
5
A
回答
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
出於同樣的原因,我們有64位二進制文件存儲在64位Windows的system32
文件夾中。
基本上,這是因爲Microsoft.Win32
中的內容不是特定於32位Windows的。爲什麼他們會損害便攜性而沒有任何好處?
1
「Win32」是平臺的名稱(即核心API集合),而不管OS的實際位數。換句話說,不要擔心:)
相關問題
- 1. 沒有名爲命名空間「STD」 make_unique'
- 2. 爲什麼Razor沒有看到包含的命名空間?
- 3. 爲什麼ANSI C沒有命名空間?
- 4. 爲什麼我沒有命名空間在Visual Studio中/ XAML
- 5. 爲什麼stdClass命名空間?
- 6. NoReverseMatch沒有命名空間
- 7. ::沒有命名空間
- 8. 沒有命名空間
- 9. 沒有命名空間
- 10. Microsoft.Reporting沒有命名空間
- 11. 沒有命名空間
- 12. XElement.Descendants沒有命名空間
- 13. 命名空間名稱空間控制器還有什麼?
- 14. 沒有命名空間的「namespace :: fn」和「:: fn」有什麼區別?
- 15. 沒有命名空間的Groovy XMLSlurper命名空間錯誤
- 16. 命名空間點命名空間和嵌套命名空間有什麼區別?
- 17. 爲什麼用戶名沒有空格?
- 18. 爲什麼有些升壓功能不需要命名空間
- 19. 爲什麼有URL的XAML命名空間?
- 20. 當包含<csetjmp>時,爲什麼std命名空間中沒有setjmp?
- 21. 爲什麼沒有命名空間限定節點的XPath語法?
- 22. 爲什麼我無法訪問沒有命名空間的xml節點?
- 23. XMLOutputStream,修復名稱空間和屬性沒有命名空間
- 24. IMvcServiceLocator的命名空間是什麼?
- 25. testng.xml的命名空間是什麼?
- 26. 什麼是groovyx命名空間?
- 27. 什麼是OpenCV HighGUI命名空間?
- 28. 什麼是DomDocument命名空間?
- 29. 什麼是MapRoute命名空間參數?
- 30. DispatcherTimer類的命名空間是什麼?
很好的答案!有沒有人跟蹤.NET中的64位差異? ---也許是博客? – rasx 2009-06-12 20:36:10