Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any advantage to building my .NET application with the 64 bit framework?

We use msbuild to build our .NET application on a server dedicated to builds. We are migrating to new hardware which has 64 bit Windows 2003. I can build the application using the 64 bit version of msbuild found in Framework64 or I can build it using the 32 bit verison found in Framework. Is there any advantage to building with the 64 bit version of msbuild?

like image 811
Dan Finucane Avatar asked Apr 09 '09 12:04

Dan Finucane


People also ask

How is a 64-bit version better than 32-bit Msbuild version?

Simply put, a 64-bit processor is more capable than a 32-bit processor because it can handle more data at once. A 64-bit processor can store more computational values, including memory addresses, which means it can access over 4 billion times the physical memory of a 32-bit processor.

Which .NET framework should I use x64 or x86?

Application ( exe file) should run on x64 or ia64 or x86 depending on the system. But when you use a library ( dll file) registered as COM it can run even in x86 mode (with x86 applications) on a x64 system.

Is .NET 32 or 64-bit?

NET Framework 1.0 or 1.1 are treated as 32-bit applications on a 64-bit operating system and are always executed under WOW64 and the 32-bit common language runtime (CLR). 32-bit applications that are built on the . NET Framework 4 or later versions also run under WOW64 on 64-bit systems.

What is a 64-bit application?

Essentially, 64 bits allows for numbers as high as 18 quintillion, meaning that a computer can calculate more, faster. That's a simplistic way of explaining this, but another way of looking at this is that with 64-bit computer, a processor can use—hold on to your hats—16 exabytes of memory.


2 Answers

Not particularly no. The only real advantage is that the 64 bit version of msbuild will be able to take advantage of more address space. That's really about it.

like image 128
JaredPar Avatar answered Sep 27 '22 18:09

JaredPar


No but there might be some disadvantages... if your application uses any 3rd party drivers, make sure that they are also 64-bit compliant. We ran into an issue where we converted an older application to .net and kept the default 'Platform Target: Any CPU' setting on Build->General and while the application worked very well on its development machine as soon as we moved it over to a 64bit server it died. Took us a while to trace it back to a 3rd party ODBC driver which we require to interface with an external data source. The application DID work on the 64bit platform, we just needed to specify x86 for the CPU which sort of defeats the purpose.

like image 33
Christopher Klein Avatar answered Sep 27 '22 18:09

Christopher Klein