在.NET(3.5或更少)中是否有一種方法可以判斷控制檯應用程序是在x86還是x64上運行?如何在.NET中分辨您是在x86還是在x64上運行?
3
A
回答
3
你的意思是機器或流程?你爲什麼想知道?
Aku的答案會告訴你,你所在的進程是否在64位模式下運行。在當前版本的Windows上,這可能意味着Itanuim或x64。
即使在64位機器/操作系統上,您的進程也不一定是64位。
不適用Microsoft.Build.Utilities.ProcessorArchitecture.CurrentProcessArchitecture返回一個字符串與當前進程。它在3.5。
12
IntPtr.Size == 8 // 64bit
如果你不介意互操作使用,此功能將幫助:IsWow64Process(example)
0
如果我在控制檯應用程序上具有x64和x86二進制文件依賴項,那麼該怎麼辦?
是否有一種方法可以在運行時決定使用哪個引用,取決於我們是在x64還是x86上運行?
+0
您可能想要查看類似場景的此問題/答案: http://stackoverflow.com/questions/108971 /使用側由端組件到負載的-x64的或-X32-版本對的一DLL#156024 – 2009-01-23 04:45:31
然後是操作系統體系結構(例如,在64位處理器上運行的32位Windows上) – Fowl 2012-07-04 03:44:31