How do I force MSBuild to compile for 32-bit mode?

Eric Nicholson picture Eric Nicholson · Jul 2, 2009 · Viewed 61.3k times · Source

I'm using MSBuild (via NAnt) to compile a bunch of VB.NET assemblies. Because these assemblies depend on COM Interop, I need to guarantee that they run in 32-bit mode on 64 bit OS's. I can get the executable assemblies to compile to 32-bit by changing the project in Visual Studio, but I'd really like to be able to force all of the executables to be compiled to 32 bit mode on the build server.

I've tried a number of command-line parameters to MSBuild with no luck:

  • /p:Platform=win32
  • /p:Platform=x86
  • /p:ProcessorArchitecture=x86

What am I doing wrong? Is there some reference to the properties that MSBuild uses when compiling VB projects?

Answer

Nader Shirazie picture Nader Shirazie · Jul 2, 2009

According to MSDN, you're doing the right thing. Looks like /p:Platform=x86, but actually, maybe it's /p:PlatformTarget=x86.

Try to just invoke MSBuild directly with that parameter (make sure it's not an issue with your NAnt file. Look at the build output for the right build configuration (Debug / Release).