Search code examples
c#.net.net-3.5reportviewer2008

Which .net framework (32 or 64 bit) would an app use on a 64 bit windows if it was built with 'Any Cpu' config


I read, if we build a .net app with 'any cpu' config, on a 64 bit windows it would run as a 64 bit process and as a 32 bit process on a 32 bit OS.

If this is true, I'm guessing on a 64 bit OS the app would under 64 bit .net(Framework64), and in a 32 bit OS would run under 32 bit .net framework. This app needs Microsoft Visual J# 2.0 and Microsoft Report Viewer 2008, so i'm confused as to which versions of these per-requisites should i install.

Microsoft Visual J# 2.0 has a 64 bit redistributable, but the Microsoft Report Viewer 2008 doesn't have one as far i know. So if i install Microsoft Report Viewer 2008 on a 64 bit machine would the app fail to load? any pointers would be of great help.

Summarizing: Doubt is regarding whether report viewer 2008 will work on 64 bit windows, since there are no known 64 bit downloads for report viewer 2008.


Solution

  • Your application runs as a 64-bit process whenever possible and falls back to 32-bit when only that mode is available.

    The difference, then, between “Any CPU 32-bit preferred” and “x86” is only this: a .NET application compiled to x86 will fail to run on an ARM Windows system, but an “Any CPU 32-bit preferred” application will run successfully.