Developers here have different SDKs installed, I want my Visual Studio projects to use any available SDK greater than 10.0, without the need to specify exactly which one. Is there a way to do this?
In the vcxproj file:
<WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
asked Jan 10, 2019 at 17:51
LLucasAldayLLucasAlday
2,35111 gold badges34 silver badges41 bronze badges
For Visual Studio 2017, you must use a specific SDK version number in your vcxproj file. However there is a workaround by Antonio Sanchez for the Windows 10 SDK in the comments of this post: https://developercommunity.visualstudio.com/comments/190992/view.html
<PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'==''">
<!-- Latest Target Version property -->
<LatestTargetPlatformVersion>
$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0'))
</LatestTargetPlatformVersion>
<WindowsTargetPlatformVersion Condition="'$(WindowsTargetPlatformVersion)' == ''">
$(LatestTargetPlatformVersion)
</WindowsTargetPlatformVersion>
<TargetPlatformVersion>
$(WindowsTargetPlatformVersion)
</TargetPlatformVersion>
</PropertyGroup>
For Visual Studio 2019, you can specify the most recent version of the Windows 10 SDK by using a value of 10.0. For example:
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
answered Oct 16, 2019 at 19:17
2
The current design requires your vcxproj contain a specific version number.
Since your project is for VS 2017 (based on the v141
platform toolset), there’s no reason to use something as old as 15086. If someone installs a fresh copy of VS 2017 today (15.9 update), they will have the Windows 10 SDK (10.0.17763) by default. The only time they would have 10.0.15806 installed by default is if they had installed VS 2017 (15.1 update) and never updated it.
The only time it makes sense to stick with an older Windows 10 SDK in a vcxproj is for VS 2015 projects because 10.0.14493 was the last release that officially supports VS 2015.
Remember also that for Win32 desktop applications, the Windows 10 SDK (17763) still targets the same versions of Windows that the Windows 10 SDK (15086) did: Windows 7 SP1, Windows 8.x, Windows 10.
answered Jan 10, 2019 at 18:24
Chuck WalbournChuck Walbourn
38.5k2 gold badges59 silver badges82 bronze badges
I have several 10.0 versions installed on my system so I just want to confirm exactly which one my project is using by checking the full version number.
I suspect this is entirely up to the developer to know. The current Windows 10 SDK is 10.0.18362.1
The current version of the Windows SDK will appear first in the following table. Due to the continuous releases of a new version of Windows 10 this table will continuously change over time. In addition, Visual Studio 2019 and Visual Studio 2017 is aware of the current release, due to its own continuous updates it receives. As new versions are released, the following statement will be updated, it currently states the Windows 10 SDK for Windows 10 1903 is the most recent release.
The Windows 10 SDK (10.0.18362.0) for Windows 10, version 1903 provides the latest headers, libraries, metadata, and tools for building Windows 10 apps.
Additionally, it indicates that Visual Studio can install the current Windows SDK (provided Visual Studio is updated of course).
Windows 10 development targeting Windows 10, version 1903 (or later) requires Visual Studio 2017 (or later). This SDK will not be discovered by previous versions of Visual Studio.
Source: Windows SDK and emulator archive
Hi DavidTML,
Welcome to the MSDN forum.
As I know, most C++ workloads include the Windows 10 SDK (originally this was 14393, but as of the 15.9 update it’s now 17763) by default,
but older versions including Windows 8.1 SDK are available as optional components.
Visual Studio 2017 defaults to the newest Windows 10 SDK instead of the Windows 8.1 SDK,
so you’d better ask the distributed team which version OS and VS they used. What’s more, you can find the SDK version that the project is using in the project properties:
If this is pointing at something incorrect, you can right click on the solution itself in solution explorer and select retarget solution. This will
update all projects to use that version of the Windows SDK.
If it doesn’t build after being retargeted to a different SDK then you will have to check the second thing. Visual Studio Installer itself (if has
installed required SDK version). Try doing a repair install for Visual Studio 2017.
if possible, here are some reference would be helpful further:
https://social.msdn.microsoft.com/Forums/en-US/5f749636-4392-4cca-a396-864219307f65/how-to-set-the-default-windows-kit-sdk-version?forum=vcgeneral
https://social.msdn.microsoft.com/Forums/en-US/561b8421-8fd3-469c-8b38-cc6562d3b465/problem-building-ccli-project-in-vs-2017?forum=vcgeneral
Please feel free to let us know if it works or not.
Sincerely
May
MSDN Community Support Please remember to click «Mark as Answer» the responses that resolved your issue, and to click «Unmark as Answer» if not. This can be beneficial to other community members reading this thread. If you have any compliments
or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com
-
Edited by
Friday, March 15, 2019 10:21 AM
-
Proposed as answer by
May Luo-MSFT
Tuesday, March 19, 2019 7:43 AM -
Marked as answer by
DavidTML
Tuesday, March 19, 2019 9:36 AM
From Wikipedia, the free encyclopedia
Developer(s) | Microsoft |
---|---|
Stable release |
10.0.22000.755 |
Operating system | Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8, Windows 10, Windows 11 |
Type | Application programming interface (API) |
Website | developer |
Microsoft Windows SDK, and its predecessors Platform SDK, and .NET Framework SDK, are software development kits (SDKs) from Microsoft that contain documentation, header files, libraries, samples and tools required to develop applications for Microsoft Windows and .NET Framework.[1] Platform SDK specializes in developing applications for Windows 2000, XP and Windows Server 2003. .NET Framework SDK is dedicated to developing applications for .NET Framework 1.1 and .NET Framework 2.0. Windows SDK is the successor of the two and supports developing applications for Windows XP and later, as well as .NET Framework 3.0 and later.[2]
Features[edit]
Platform SDK is the successor of the original Microsoft Windows SDK for Windows 3.1x and Microsoft Win32 SDK for Windows 9x. It was released in 1999 and is the oldest SDK. Platform SDK contains compilers, tools, documentations, header files, libraries and samples needed for software development on IA-32, x64 and IA-64 CPU architectures. .NET Framework SDK however, came to being with .NET Framework. Starting with Windows Vista, the Platform SDK, .NET Framework SDK, Tablet PC SDK and Windows Media SDK are replaced by a new unified kit called Windows SDK. However, the .NET Framework 1.1 SDK is not included since the .NET Framework 1.1 does not ship with Windows Vista. (Windows Media Center SDK for Windows Vista ships separately.) DirectX SDK was merged into Windows SDK with the release of Windows 8.[3]
Windows SDK allows the user to specify the components to be installed and where to install them. It integrates with Visual Studio, so that multiple copies of the components that both have are not installed; however, there are compatibility caveats if either of the two is not from the same era.[4][5] Information shown can be filtered by content, such as showing only new Windows Vista content, only .NET Framework content, or showing content for a specific language or technology.
Windows SDKs are available for free; they were once available on Microsoft Download Center but were moved to MSDN in 2012.
A developer might want to use an older SDK for a particular reason. For example, the Windows Server 2003 Platform SDK released in February 2003 was the last SDK to provide full support of Visual Studio 6.0. Some older PSDK versions can still be downloaded from the Microsoft Download center; others can be ordered on CD/DVD.[6]
Name | Version number | Build number | Release date | Download | Notes | |
---|---|---|---|---|---|---|
Microsoft Windows Software Development Kit | 3.1 | ? | 1992 | [1] | ||
Microsoft Windows Software Development Kit | 3.11 | ? | ? | ? | ||
Microsoft Win32 Software Development Kit | 3.1 | ? | ? | ? | ||
Microsoft Win32 Software Development Kit | 3.5 | 3.50.612.1 | 1994-04 | [2] | ||
Microsoft Win32 Software Development Kit | 3.51 | ? | 1995-06 | [3] | ||
Microsoft Win32 Software Development Kit | 4.0 | ? | 1996-11 | [4] | ||
Microsoft Win32 Software Development Kit | v5.0 | 5.0.1636.1 | 1998-06 | ? | Included in Visual Studio 6 | |
Microsoft Platform SDK April 1999 | ? | ? | 1999-04 | [5] | MSDN subscription CD-ROM disc.
Last Platform SDK to officially install on Windows 95 |
|
Microsoft Platform SDK September 1999 | ? | ? | 1999-09 | [6] | MSDN subscription CD-ROM disc.
Last Platform SDK to fully support Visual C++ 5.0 |
|
Microsoft Platform SDK February 2001 | ? | ? | 2001-02 | ? | ||
Microsoft Platform SDK June 2001 | ? | ? | 2001-06 | [7] | MSDN subscription CD-ROM disc.
Last Platform SDK to officially develop for Windows 95. (Does not officially install on Windows 95) |
|
Microsoft Platform SDK August 2001 | v5.1 | 5.1.2601.0 | 2001-08 | [8] | MSDN subscription CD-ROM disc.
Last Platform SDK to unofficially develop for Windows 95. (Does not officially install on Windows 95) |
|
Microsoft Platform SDK November 2001 | v5.2 | 5.2.3590.2 | 2001-11 | [9] | ||
Microsoft Platform SDK May 2002 | v5.2 | 5.2.3639.1 | 2002-05 | [10] | ||
Microsoft Platform SDK July 2002 | v5.2 | 5.2.3663.0 | 2002-07 | [11] | ||
Microsoft Platform SDK August 2002 | v5.2 | 5.2.3672.1 | 2002-08 | [12] | ||
Microsoft Platform SDK November 2002 | v5.2 | 5.2.3718.1 | 2002-11 | [13] | ||
Microsoft Platform SDK February 2003 | v5.2 | 5.2.3790.0 | 2003-02 | [14] | Last version with VC6 support[8] and latest version with Windows 95 and Windows 98 support. | |
.NET Framework SDK Version 1.1 | ? | 1.1.4322.573 | 2003-03-29 | [15] | Included in Visual Studio 2003. Does not include the Platform SDK. | |
Microsoft Platform SDK for Windows XP SP2 | ? | 5.1.2600.2180 | 2004-08 | [16] | Introduced strsafe.h | |
Windows Server 2003 SP1 Platform SDK | v5.2 | 5.2.3790.1830.15 | 2005-05-02 | [17] | ||
Windows Server 2003 R2 Platform SDK | v5.2 | 5.2.3790.2075.51 | 2006-03-14 | [18] | Last Platform SDK to develop for Windows 2000.[9] Also suggested by MS to work with VS6 with no guarantee as it has not been tested with specific requirements.[10] | |
.NET Framework 2.0 Software Development Kit | ? | 2.0.50727.42 | 2006-11-29 | [19] | Included in Visual Studio 2005 Professional. Does not include the Platform SDK. | |
Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components | v6.0 | 6.0.6000.16384 | 2006-10-30 | [20] | The C++ compilers in this SDK release support the /analyze key. | |
Microsoft Windows Software Development Kit Update for Windows Vista | v6.1 | 6.1.6000.16384.10 | 2007-03-22 | [21] | First unified .NET and Platform SDK. Does not support Visual Studio .NET 2003 and Microsoft Visual C++ Toolkit 2003 | |
Included in Visual Studio 2008[11] | v6.0a | 6.1.6723.1 | 2007-11-19 | [22] | ||
Windows SDK for Windows Server 2008 and .NET Framework 3.5 | v6.1 | 6.0.6001.18000.367 | 2008-02-05 | [23] | .NET Framework 3.5 | |
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 | v7.0 | 6.1.7600.16385 | 2009-07-24 | [24], [25] | ||
Included in Visual Studio 2010 | v7.0a | 6.1.7600.16385 | 2010-04-12 | [26] | .NET Framework 4. Works only with Visual Studio 2010 and not Visual Studio 2010 Express. This is also the last version to include offline documentation.[12] | |
Microsoft Windows SDK for Windows 7 and .NET Framework 4 | v7.1 | 7.1.7600.0.30514 | 2010-05-19[13][14] | [27], [28] | It is the latest version that officially supports Windows XP target. | |
Included in Visual Studio 2012 Update 1 (or later) | v7.1A | 7.1.51106 | ? | ? | Introduces the «v110_xp» platform toolset | |
Microsoft Windows SDK for Windows 8 and .NET Framework 4.5 | v8.0 | 6.2.9200.16384 | 2012-11-15[15] | [29] | .NET Framework 4.5, Windows Store apps and Integrated DirectX SDK | |
Included in Visual Studio 2012 | v8.0A | 8.0.50727 | ? | ? | ||
Windows Software Development Kit (SDK) for Windows 8.1 | v8.1 | 8.100.25984.0 | 2013-10-17 | [30] | Windows 8.1, .NET Framework 4.5.1, Windows Store apps and Integrated DirectX SDK | |
Included in Visual Studio 2013 | v8.1A | 8.1.51636 | ? | ? | Includes the «v120_xp» platform toolset | |
Windows Standalone SDK for Windows 10 | v10 | 10.0.10240.0 | 2015-07-29 | [31] | Also included in Visual Studio 2015[16] | |
Windows Standalone SDK for Windows 10, Version 1511[17] | v10 | 10.0.10586.212 | 2015-11-30 | [32] | Also included in Visual Studio 2015 Update 1 & 2[18] | |
Windows Standalone SDK for Windows 10, Version 1607 | v10 | 10.0.14393.795 | 2016-08-02 | [33] | Also included in Visual Studio 2015 Update 3 | |
Windows Standalone SDK for Windows 10 Creators Update, Version 1703 | v10 | 10.0.15063.0 | 2017-04-05 | [34] | Included in Visual Studio 2017 ver.15.1 | |
Windows 10 SDK for Fall Creators Update, version 1709 | v10 | 10.0.16299.15 | 2017-10-10 | [35] | Included in Visual Studio 2017 ver.15.4 | |
Windows 10 SDK for April 2018 Update, version 1803 | v10 | 10.0.17134.0 | 2018-05-08 | [36] | Included in Visual Studio 2017 ver.15.7 | |
Windows 10 SDK for October 2018 Update, version 1809 | v10 | 10.0.17763.0 | 2018-10-02 | [37] | Included in Visual Studio 2017 ver.15.8 | |
Windows 10 SDK for Windows 10, version 1903 | v10 | 10.0.18362.0 | 2019-05-21 | [38] | Included in Visual Studio 2019 | |
Windows 10 SDK for Windows 10, version 2004 | v10 | 10.0.19041.0 | 2020-05-12 | [39] | ||
Windows 10 SDK for Windows 10, version 2004 | v10 | 10.0.19041.685 | 2020-12-16 | [40] | Servicing update | |
Windows 10 SDK for Windows 10, version 21H1 | v10 | 10.0.20348.0 | 2021-05-25 | [41] | ||
Windows 10 SDK for Windows 11 | v10 | 10.0.22000.194 | 2021-10-04 | [42] | ||
Windows SDK for Windows 11 | v10 | 10.0.22621.755 | 2022-10-25 | [43] | Released as part of Windows 11, version 22H2. Includes servicing update 10.0.22000.755 on October 25, 2022,
Includes ARM64 support for the Visual Studio 17.4 release |
Version | Removed feature |
---|---|
Windows SDK for Windows 7 and .NET Framework 3.5 SP1[19] |
|
Windows SDK for Windows 7 and .NET Framework 4[20] |
|
Windows Software Development Kit (SDK) for Windows 8[21] |
|
Windows Software Development Kit (SDK) for Windows 8.1[22] | Nothing |
Windows Software Development Kit (SDK) for Windows 10 | Nothing[23] |
Documentation[edit]
The Windows SDK documentation includes manuals documenting:
- Desktop app development with Windows API and managed code
- Metro-style app development using Windows Runtime and Universal Windows Platform
- Web app development using ASP.NET, HTML, CSS and JavaScript
- Language-related topics for C++, C#, Visual Basic.NET, F#, JavaScript, CSS and HTML, such as syntax and conventions (Windows PowerShell language is not covered.)
See also[edit]
- MSDN Library
- Windows Driver Kit
- Windows App SDK
- Windows 10 Version History
References[edit]
- ^ «Windows SDK: Download Windows Server 2008 SDK and more». Microsoft Developer Network. Microsoft Corporation. Retrieved 6 December 2009.
- ^ «Windows SDK Frequently Asked Questions (FAQ)». Microsoft Developer Network. Microsoft Corporation. Archived from the original on 26 September 2009. Retrieved 6 December 2009.
- ^ «Where is the DirectX SDK?». Windows Dev Center. Microsoft. Retrieved 20 February 2016.
- ^ «Windows SDK Fails to Install with Return Code 5100». Support. Microsoft. 5 June 2012.
- ^ Stewart, Heath (1 April 2011). «Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1». Setup & Install by Heath Stewart. Microsoft.
- ^ Microsoft Software Development Kits CD Order Archived 2011-10-08 at the Wayback Machine
- ^ Windows and Windows Phone SDK archive
- ^ Windows® Server 2003 SP1 Platform SDK Web Install, Microsoft Download Center «The last SDK that will work with VC 6.0 is the February 2003 Edition, you can order a CD on the fulfillment site.»
- ^ «Windows Server 2003 R2 Platform SDK Web Install». www.microsoft.com. Archived from the original on 2006-04-22. Retrieved 2006-04-22.
- ^ «Platform SDK February 2003 installation + IE8». Social.msdn.microsoft.com. Archived from the original on 2019-10-18. Retrieved 2017-08-08.
- ^ Microsoft Windows SDK Blog: New samples in Win 7 SDK: Direct2D and DirectWrite
- ^ «Windows SDK 7.1 release notes». Retrieved 23 July 2014.
- ^ Microsoft Windows SDK for Windows 7 and .NET Framework 4 iso image
- ^ Microsoft Windows SDK for Windows 7 and .NET Framework 4 web installer
- ^ Windows SDK for Windows 8 – Windows Dev Center. Msdn.microsoft.com. Retrieved on 2014-02-16.
- ^ Building Apps for Windows 10 with Visual Studio 2015
- ^ Windows 10 SDK Release Notes
- ^ Visual Studio 2015 Update 1 Release Notes
- ^ Release Notes, Windows SDK for Windows 7 and .NET Framework 3.5 SP1
- ^ Release Notes, Microsoft Windows SDK for Windows 7 and .NET Framework 4
- ^ «Windows Software Development Kit (SDK) for Windows 8». Windows Dev Center. Microsoft. Retrieved 20 February 2016.
- ^ «Windows Software Development Kit (SDK) for Windows 8». Windows Dev Center. Microsoft. Retrieved 20 February 2016.
- ^ «Windows Software Development Kit (SDK) for Windows 10». Windows Dev Center. Microsoft. Retrieved 20 February 2016.
External links[edit]
- Windows SDK Blog
- Windows SDK Archive
Для изменения используемой версии SDK в Visual Studio, выполните следующие шаги:
Шаг 1: Откройте ваш проект в Visual Studio.
Шаг 2: Нажмите правой кнопкой мыши на проект в Solution Explorer (Обозреватель решений).
Шаг 3: В контекстном меню выберите Свойства (Properties).
Шаг 4: В открывшемся окне свойств проекта найдите вкладку Параметры (Options).
Шаг 5: В разделе Общие (General) найдите раздел Платформы целевой платформы (Target Framework).
Шаг 6: В выпадающем списке выберите нужную версию SDK.
Шаг 7: Нажмите кнопку Сохранить (Save), чтобы применить изменения.
После выполнения этих шагов, Visual Studio будет использовать новую версию SDK для вашего проекта.
Несколько полезных советов:
1. Перед изменением SDK рекомендуется создать резервную копию вашего проекта, чтобы в случае возникновения проблем можно было вернуться к предыдущей версии.
2. Убедитесь, что выбранная версия SDK совместима с вашим проектом, иначе это может вызвать ошибки компиляции или непредсказуемое поведение программы.
3. Если необходимо добавить новую версию SDK, проверьте, установлено ли соответствующее обновление на вашем компьютере. Если нет, установите его перед изменением SDK.
4. В случае возникновения проблем после изменения SDK, может потребоваться обновление или установка дополнительных пакетов, связанных с новой версией SDK.