What to expect from Windows SDK build environment in Windows SDK v7.1
The Windows SDK command line build environment that ships with Windows 7.1 SDK will include several custom props and targets files that will provide the ability to build both native and managed applications. It supports building applications from makefiles and Visual Studio project and solution files. Because the Visual Studio 2010 Managed 4.0 content/toolset, VC++ 2010 compiler/toolset and MSBuild v4.0 toolset will ship in the Windows 7.1 SDK, customers who do not have VS2010 installed should be able to easily build applications using these in the 7.1 SDK build environment.
Building VC 2010 Projects
Windows SDK build environment will support building VC2010 projects if PlatformToolSet property in the project files is either set to Windows7.1SDK or is left blank. When you create a new project in Visual Studio 2010, by default the PlatformToolSet property is left blank. There projects will be able to build alright without any changes to the project files. But if the PlatformToolSet value is changed in the project setting either using the IDE or manually, you will have to change it to Windows7.1SDK to be able to build in the Windows SDK build environment.
Upgrading VS projects to 2010 format
Windows SDK will ship with a VC project upgrade tool called VCUpgrade.exe. You should be able to upgrade your projects from 2008 format to 2010 format by using the VCUpgrade.exe tool whose path will set properly in the Windows SDK build environment. Please note that, VCUpgrade tool will only support upgrading individual project but will not be able to support upgrading an entire solution.
Building Managed Projects:
By default, Windows SDK build environment will only support building Managed projects using MSBuild v4.0 which ships with .Net Framework 4. You can build managed projects targeting .Net Framework 2.0, .Net Framework 3.5, and .Net framework 4 using MsBuild v4.0. Windows SDK7.1 build environment will not support building managed projects using MsBuild v3.5.
Support for TeamBuild
If you have build machine which has Team Build 2010. Team build includes MsBuild but does not have the required C/C++ build system files. So, if you install Windows SDK 7.1 on the machine you should be able to target Windows SDK 7.1 headers, libs and tools and build the native projects by setting the PlatFormToolset to Windows7.1SDK and managed projects using MsBuild v4.0. But if you have any other Visual Studio retail SKU or earlier Windows SDK’s installed on the machine, you will not be able to build the managed projects by default using the Windows SDK 7.1 tool set. To be able to build your managed projects using the Windows SDK 7.1 tool set you will have to set an environment variable “WindowsSDKFrameworkToolsPathOverride” to ‘true’ in your build environment. This variable will kick in the custom props that ship with Windows 7.1 SDK which will override the how MSBuild looks for Managed tools. This could be either a global environment variable or a property you can set per project.
Building applications for Different platform architectures
In the new Windows SDK 7.1 Build environment, you will be agle to build projects and solutions targeting several platforms architectures. By default, the SDK build environment will try to build the default platform configuration set in the project or solution file and then builds for all other platform configurations defined in the project or solution file. If your current build environment configuration does not match default settings in your project or solution, You can use MsBuild platform property (for example MsBuild.exe /p:platform=x86 to build for x86 platform ) to build for specific platform architecture.
Thanks,
Nanda Lella
Windows SDK Team