1

There are some bugs introduced in 16.7 that affect me, and I would like to use 16.6.

Most of the questions I found refer to using VS2017 compiler, I want to use VS 2019 compiler, just an older version.

Best I found in official docs is to remove VS and reinstall, but I would like to avoid that.

NoSenseEtAl
  • 28,205
  • 28
  • 128
  • 277
  • *There are some bugs introduced in 16.7 that affect me* -- What are these bugs? – PaulMcKenzie Aug 19 '20 at 13:54
  • 1
    If you have a paid version yes. If you are using the free version this is not available. [https://developercommunity.visualstudio.com/content/problem/601456/how-can-i-downgrade-to-the-prior-version-of-vs-201.html](https://developercommunity.visualstudio.com/content/problem/601456/how-can-i-downgrade-to-the-prior-version-of-vs-201.html) – drescherjm Aug 19 '20 at 13:54
  • 2
    Here is the paid version downgrade options: [https://learn.microsoft.com/en-us/visualstudio/releases/2019/history#installing-an-earlier-release](https://learn.microsoft.com/en-us/visualstudio/releases/2019/history#installing-an-earlier-release) – drescherjm Aug 19 '20 at 13:57
  • 1
    I'd love to see an example of a bug. – Bathsheba Aug 19 '20 at 13:59
  • @PaulMcKenzie not the point of my question and I never built a small reproducible example, but basicaly designated initalizers directly in return got broken. I had to replace return {.bla = "haha", .lol = "ahahaha"... with Result result {.bla=... }; return result; fatal error C1001: Internal compiler error. 2> (compiler file 'd:\agent\_work\7\s\src\vctools\Compiler\Utc\src\p2\main.c', line 195) 2> To work around this problem, try simplifying or changing the program near the locations listed above. – NoSenseEtAl Aug 19 '20 at 14:04
  • @rustyx It is true that msvc new features generally have high amount of bugs, but I am not aware of any official policy that claims that C++20 designated initialziers are experimental. – NoSenseEtAl Aug 19 '20 at 14:34
  • Yes that's what I meant - high amount of bugs in emerging language features... But what if after you successfully downgrade, you hit another bug that requires an upgrade? – rustyx Aug 19 '20 at 15:52
  • @rustyx unlikely, since I have used it for a long time and it worked, designated initializer bug is a regression from 16.6 – NoSenseEtAl Aug 19 '20 at 15:56
  • 1
    @NoSenseEtAl -- [See this on experimental features](https://stackoverflow.com/questions/43318493/are-the-experimental-features-of-modern-c-reliable-for-long-term-projects). – PaulMcKenzie Aug 19 '20 at 18:51

2 Answers2

1

I found solution of such problem for myself in following way.

  1. You should locate MSVC build tools of chosen version in your folder like "Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC XX.YY.ZZZZ. If you just upgraded your VS it didn't remove old build tools (I hope). If it did or you just installed newer versions you can use VS Installer to add/download MSVC Build Tools of one of previous version.
  2. You should change links to VCTools of previous version for Toolset v142 (that is 2019). To do his you can change text files located at something like "2019\Enterprise\VC\Auxiliary\Build". Files of our interest are "Microsoft.VCToolsVersion.v142.default.txt" and "Microsoft.VCToolsVersion.v142.default.props". That simple files just contains names of MSVC Tool version to use for Toolset v142
  3. These changes will affect building of all you projects using toolset v142 (that is VC2019 Compiler)
Dimitrius
  • 11
  • 1
0

I am sorry that VS does not currently support the ability to roll back a Visual Studio Update, you can only follow the method in the link. Luckily, Microsoft have already understood this issue and rolling back updates is certainly in their backlog. You could vote on this issue and express your demands.

Barrnet Chou
  • 1,738
  • 1
  • 4
  • 7