I have a .NET application that was supposed to be compiled as a 32-bit only application. I suspect my build server isn’t actually doing it.
How do I determine if a .NET application is actually set to run in 32-bit mode?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
If you’re trying to check whether or not a running application is running in 32-bit or 64-bit mode, open task manager and check whether or not it has an asterisk (*32) next to the name of the process.
EDIT (imported from answer by manna): As of Win8.1, the "bittyness" of a process is listed in a separate detail column labelled
Platform. (Right click on any column header to expose the select columns menu.)If you have a compiled dll and you want to check if it’s compiled for 32-bit or 64-bit mode, do the following (from a related question). I would think that you want you dll to be compiled for AnyCPU.
Open Visual Studio Command Prompt and type "corflags [your assembly]". You’ll get something like this:
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>corflags "C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll" Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.21022.8 Copyright (c) Microsoft Corporation. All rights reserved. Version : v2.0.50727 CLR Header: 2.5 PE : PE32 CorFlags : 24 ILONLY : 0 32BIT : 0 Signed : 1You’re looking at PE and 32BIT specifically.
AnyCpu:
PE: PE32
32BIT: 0
x86:
PE: PE32
32BIT: 1
x64:
PE: PE32+
32BIT: 0