dagda1
dagda1

Reputation: 28760

How to tell in .NET whether you are running on x86 or x64?

Is there a way in .NET (3.5 or less) to tell if a console application is running on x86 or x64?

Upvotes: 3

Views: 607

Answers (3)

dagda1
dagda1

Reputation: 28760

How about if I have an x64 and an x86 binary dependency on a console application.

Is there a way of deciding at runtime which reference is used dependant on whether we are running on x64 or x86?

Upvotes: 0

Fowl
Fowl

Reputation: 5128

Do you mean the machine or the process? Why do you want to know?

Aku's answer will tell you if the process you are in is running in a 64bit mode. On current versions of Windows this could mean either Itanuim or x64.

Your process won't necessarily be 64 bit even on a 64 bit machine/OS.

Othewise Microsoft.Build.Utilities.ProcessorArchitecture.CurrentProcessArchitecture returns a string with the current proc arch. It's in 3.5.

Upvotes: 3

aku
aku

Reputation: 123956

IntPtr.Size == 8 // 64bit

If you don't mind to use interop, this function would help: IsWow64Process (example)

Upvotes: 12

Related Questions