[MonoDevelop] No x64 build option

Michael Hutchinson m.j.hutchinson at gmail.com
Fri May 28 23:54:58 EDT 2010

On Thu, May 27, 2010 at 11:17 PM, BrokenKingpin
<brokenkingpin at hotmail.com> wrote:
> I am running Ubuntu 10.04 x64 and I have installed MonoDevelope from the
> official Ubuntu repository. After writing a small C# console app I noticed
> in the top toolbar it said Debug|x86. When I go into the build properties I
> only have the option to compile for the x86 platform, I do not see an option
> for x64. This makes no sense because I am on an 64-bit system.

The "x86" configuration is created for executable projects. Such
project have the /platform:x86 flag set in this configuration.
Although the actual IL is still platform-independent, this flag causes
.NET to use the 32-bit runtime to run the program even on 64-bit

On .NET, AnyCPU libraries can be loaded by AnyCPU/x86/x64 executables,
AnyCPU executables will run by the default runtime, x64 executables
are always run by the 64-bit runtime, x86 executables are always run
by the 32-bit runtime. The flag is intended for programs and libraries
that invoke architecture-specific native dependencies.

Mono ignores the flag entirely, so "x86" programs will still run (or
fail at runtime) on 64-bit Mono.

This default behaviour was added to match Visual Studio 2010. You can
find a several blog posts on their reasons for the change. Libraries
projects still default to AnyCPU, and executable projects can of
course be changed to AnyCPU too manually.

Michael Hutchinson

More information about the Monodevelop-list mailing list