Take the 2-minute tour ×

I had a solution with one project set to AnyCPU. Then I added a Console application as a second project, who's default Platform seems to be x86. Now it's ( - the Console application) being built as an x86 and I can't change it.

The "Solution Platform" always shows "AnyCPU". But when I show the Console application's properties -> build. It shows x86 without any way to change it. So how do I change it?

share|improve this question
add comment

2 Answers

up vote 5 down vote accepted

Go to Build -> Configuration Manager

  • Select for the overall solution the Active Platform = AnyCPU
  • Go to the Console Application line and Set the Platform to AnyCPU
  • If there isn't the voice create a new configuration
  • Check that the Console Application is flagged for compile.

Also look at this discussion about console applications default to x86

share|improve this answer
Perfect. Thanks. –  ispiro May 28 '12 at 20:44
add comment

This is an unfortunate flaw in the VS user interface design. The solution's Platform name is not relevant for managed projects, it only means something for native C++ projects. Where "AnyCPU" doesn't mean anything since native code cannot run on any cpu. This got a wee bit better in VS2010 with a new default Platform name of "x86". Merely a wee.

The only setting that really counts is the Platform target setting for the EXE project. Project + Properties, Compile tab for a C# project. The class library project settings are not relevant either since it is the EXE that nails down the bitness of the process.

Best thing to do is just ignore it. You can make that more permanent with Tools + Customize and just drag the combobox off the toolbar so you don't have to look at it again.

share|improve this answer
"The solution's Platform name is not relevant for managed projects." Unless I'm missing something, while the compiled MSIL is not affected by the platform, it does affect the conversion to CPU-specific code. See: blogs.microsoft.co.il/blogs/sasha/archive/2012/04/04/… –  Nelson Rothermel Jan 29 at 19:19
The VS2012 "Prefer 32-bit" option is set on the same project property page as the Platform target setting. So the Platform name is still irrelevant. It was added to disambiguate the x86 selection for ARM cores. –  Hans Passant Jan 29 at 19:27
add comment

Your Answer


