Quantcast
Channel: Microsoft Windows SDK Blog
Viewing all articles
Browse latest Browse all 35

Windows SDK Build Environment: Upcoming features and improvements

$
0
0

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


 


Viewing all articles
Browse latest Browse all 35

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>