differences between Visual Studio version 15.0 and 15.x - visual-studio-2017

Since the very beginning of the release of Visual Studio 2017, it seems there has been two differentiated branches:
- 15.0
- 15.x
In the above link you can see that 15.0.0 and 15.1 Preview 1 were released the same day, and then there were updates for 15.0 and 15.x. At the date of this question, latest versions are 15.0.21 and 15.9.11
What are the differences between these two development branches?

In general Microsoft offers a dual support model for most of these tools:
Stay on RTM/RTW. Basically the 15.0.x version. This version will receive hotfixes, but no feature improvements and is a Long-Term-Support version. This version is generally only available through Visual Studio subscriptions and can only be downloaded from https://my.visualstudio.com.
Stay on the latest version. Basically the 15.x.x version. This version will receive hotfixes and feature updates at a regular interval until the next major version (2019) is released. Support is normally only given on the latest update version, so if you have issues, you're likely going to be asked to upgrade to the latest 15.x.x version to see if the issue persists.
The same applies to Azure DevOps Server / Team Foundation Server.
Release notes for Visual Studio 2017 15.9.x can be found here.
Release notes for Visual Studio 2017 15.8.x can be found here.
Release notes for Visual Studio 2017 15.7.x can be found here.
Release notes for Visual Studio 2017 15.6.x can be found here.
Release notes for Visual Studio 2017 15.5.x can be found here.
Release notes for Visual Studio 2017 15.4.x can be found here.
Release notes for Visual Studio 2017 15.3.x can be found here.
Release notes for Visual Studio 2017 15.2.x can be found here.
Release notes for Visual Studio 2017 15.1.x can be found here.
Release notes for Visual Studio 2017 15.0.x can be found here.
In general you get more features, improvements and fixes in the 15.x.x version. But you may have to upgrade your solution from time to time to stay current with the tooling.
You get fewer impacting changes and a longer support window by staying on 15.0.x.

Related

How to get compiler version 19.0.24234 for Visual Studio 2015 Update 3?

When researching on libmdbx, I found its sources require MSVC compiler version >= 19.0.24234 for "Visual Studio 2015 Update 3".
I have to stick to Visual Studio 2015 Update 3, cannot upgrade to Visual Studio 2017 or later. But my compiler version is 19.00.24223.
It seems that if you install the Visual Studio 2015 Update 3 freshly from an offline ISO, the initial compiler version would be 19.00.24215.1. (ref: Offline install ISO)
Then if you install this update (KB4020481), the compiler version is bumped to 19.00.24223
I installed this update (KB3165756), the compiler version did not change.
There is a page listing all _MSC_VER_FULL values:
https://dev.to/yumetodo/list-of-mscver-and-mscfullver-8nd
The version number for 2015 Update 3 is 190024210.
So is 190024234 really a valid compiler version from Visual Studio 2015 Update 3? Or is it actually from Visual Studio 2017?
If you search google with "_MSC_FULL_VER 190024234", you will get very few results, with top ones being the github sources from user erthink, where happnes to be the repo of libmdbx. In the source it claims that 19.00.24234 corresponds to Visual Studio 2015. So is there any "KB" update that can bump the compiler versio to that required one? Thanks.
# if _MSC_FULL_VER < 190024234
/* Actually libmdbx was not tested with compilers older than 19.00.24234 (Visual Studio 2015 Update 3).
* But you could remove this #error and try to continue at your own risk.
* In such case please don't rise up an issues related ONLY to old compilers.
*/
# error "At least \"Microsoft C/C++ Compiler\" version 19.00.24234 (Visual Studio 2015 Update 3) is required."
# endif

Is it possible to target windows 10.0.14393 with C++/WinRT?

I would like to make an app for my Lumia stuck on Win 10.0.14393 (or 1609) using C++/WinRT. I've created a Blank app project with
Target platform version: 10.0.17134.0 and
Target platform min. version: 10.0.14393.
The project fails to compile with the following errors:
error C2039: 'DisconnectUnloadedObject': is not a member of 'winrt::BlankApp2::implementation::MainPageT'
error C2039: 'UnloadObject': is not a member of 'winrt::BlankApp2::implementation::MainPageT'
Is this a bug or intentional behavior? Please note, that setting any newer min. version results in successful build.
The latest version of C++/WinRT can support all versions of Windows 10, including 14393 and older versions as well.
Keep in mind that C++/WinRT is both a library and a language projection. The language projection provides access to Windows APIs targeting a given version of Windows. Each version introduces new APIs. So if you want to target a minimum version of Windows, you need to ensure that you limit yourself to the APIs available on that version of Windows. I would however recommend using the latest compiler and the latest Windows SDK as they include many bug fixes.
I suggest you use Visual Studio 2015 when targeting older C++/WinRT and Windows 10 updates. My impression is that most of those were delivered on top of Visual Studio 2015 with Visual Studio 2015 updates and Windows 10 SDK updates and C++/WinRT updates.
When using Visual Studio 2015 with C++/WinRT, you will need the latest update, Update 3. Check for updates and make sure that your copy of Visual Studio 2015 has the most recent updates. I was just using an install of Visual Studio 2015 Enterprise to recompile something that compiles fine with Visual Studio 2017 and found that I was missing tools and SDKs including for Win 10 SDK 10.0.14393 that were in the Update 3 which I had not yet installed.
You can also go to Programs and Feature from within Control Panel, look for Microsoft Visual Studio 2015 in the list and then do a right mouse click and Change which will allow you to check what is installed and change anything.
Working with C++/WinRT over the last few months I have used both the Visual Studio 2017 Community Edition and the Visual Studio 2015 Enterprise Edition.
I have seen differences when moving a solution from VS 2015 to VS 2017 that required me to review the Properties page of the solution. See also the discussion in synchronizing SDK with Windows 10 update and using WinRT with Standard C++
Working with the latest Windows 10 updates and VS 2017 works best for me because I am able to target the recent Windows 10 updates. However I have found that trying to target older Windows 10 updates with VS 2017 can be problematic.
I'm sorry that I can not be more specific. This whole area of C++/WinRT and Windows 10 updates has much more cowboy than I would like though it now seems to be settling down.
C++/WinRT is a template library that was originally an open source project on GitHub. My impression is that Microsoft has acquired it and it is now a standard product offering. I believe there was a significant rewrite of C++/WinRT at one time as the Visual Studio 2015 and then Visual Studio 2017 moved to implement more of the C++17 and proposed C++20 standards and the Technical Specifications for coroutines.
This seems to be an area still changing to some extent. However most of the changing was going on with VS 2015 and the early VS 2017 along with the SDKs. It seems to be pretty solid now with the latest updates.

Upgrading from visual studio 2017 community to Pro

I have been using the Community edition of Visual studio 2017 but now my office has purchased a Visual Studio 2017 Pro License key.
Is there a way in which I can upgrade using just the license key..?? without re-installing the software..?
I have tried following the steps in this Link
But I cant find the
License with a Product Key
link.
NOTE: I have already signed in with my Microsoft account.
I have read this link
But it looks like the guy has already installed 2017 enterprise edition and then changed his license key.
We cannot upgrade VS 2017 from community to the Professional version, but we can keep those VS versions (community/professional/enterprise) on the same computer which is different with the previous VS versions, so you can download and install the VS professional 2017 without uninstall the existing VS community 2017.
BTW, the VS community 2017 is free and we can unlock it through sign in with the Microsoft account, but there have the license terms to check we have the freely use right or not, please check this and if not meet those requirements, please uninstall it.
I had this same concern at my job. My Visual Studio subscription was not available right away, but I wanted to start looking at code, so I installed Visual Studio 2022 Community.
Later, when I had access to my subscription, I removed Community using Visual Studio Installer and choosing More -> Uninstall. After that I logged on to the subscriber portal and downloaded and installed Professional.
Everything is working like normal now.

Does Fortify have a VS2017 plugin?

When I install fortify, I see options only for VS2015 plugin or older. Just to be sure - is a VS2017 plugin available as of now, or no? My version is HPE_Security_Fortify_SCA_and_Apps_16.20_windows_x64.exe, maybe there is a newer version, I don't know.
The Visual Studio 2017 Plugin is planned for the next release (17.20), which is coming out soon.
I have never used the plug in but in the visual studio gallery it says it supports visual studio 2017
https://marketplace.visualstudio.com/items?itemName=HPESecurityFortify.HPESecurityFortifyonDemandExtension-18282

What are the C++ improvements in Visual Studio 2013 Update 2?

I'm upgrading from Visual Studio 2013 Update 1 to Visual Studio 2013 Update 2 and Description of Visual Studio 2013 Update 2 mentions only a few minor bug fixes and added code generation for AVX2 instruction set. Was there any progress made in C++11/C++14 language and library conformance?
Herb Sutter said at Going Native 2013 and again Build 2014 that there will be an out of band update for VC++ to C++14 when it is ratified.