views:

776

answers:

3

I know msbuild will be installed, if I install Visual Studio 2005 or 2008.

I know msbuild is also installed if I install the .NET Framework SDK.

As of .NET 3.0, I think there is no longer a separate ".NET Framework SDK". Instead if I want the free SDK stuff - all the .NET command line tools, all the base class libraries - then I can download the Windows SDK, and install the .NET portion of it. I will also get the msbuild tool if I do this. (Right?)

Now to my questions:

  1. Will I get msbuild if I install one or more parts of the Windows SDK that does not include the .NET SDK?

  2. Will I get nmake, too?

  3. If I don't have Visual Studio installed, will MSBuild be able to build a .sln file that references a .vcproj file? I know msbuild can build .vbproj and .csproj, but can it build .vcproj? I also think that for VS2010, the .vcproj file changes to the ".csproj format". But this is a .vcproj from vs2008.


I am distributing some source code and I want to describe what is required to build the source. I know the source can be built with VS 2008. I want to also describe how it can be built without VS2008.

Thanks.

+1  A: 
  1. msbuild is installed with the framework itself, not just the SDK. So you don't need to download any SDKs.
  2. No, you won't get nmake at the same time.
  3. Yes, you'll be able to build solution and project files without Visual Studio being installed.

Admittedly I've never tried any of these things (as I always have VS installed) but my understanding is that the above is correct.

Jon Skeet
+1  A: 

As Jon stated MSBuld is installed with the .NET framework. To build managed projects you don't need Visual Studio, but to build .vcproj files you will have to have Visual Studio installed. With Visual Studio 2010 .vcproj files are MSBuild files so this requirement is lifted.

Sayed Ibrahim Hashimi
This seems to be in direct contrast to what dan moseley said. Care to reconcile those two statements?
Cheeso
Sorry wasn't thinking about the SDK. Hey, Dan is the man!
Sayed Ibrahim Hashimi
A: 

You can build .vcproj files with MSBuild 2.0/3.5 without VS installed. If you don't have VS, you need the appropriate Windows SDK installed. Either will work.

dan moseley
This seems to be in direct contrast to what Sayed said. Care to reconcile those two statements?
Cheeso
VS installs a subset of the SDK, so it's correct to say that either VS (including native code components during setup) and/or the Windows SDK are required.In 4.0 one or the other are actually still required. Although we don't need vcbuild.exe anymore, as VC projects are MSbuild format, you'll still in practice need the tools, headers, and libs, which come from the SDK.Dan / MSBuild team
dan moseley