-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[vs17.13] Binlog not produced for C++ project on Visual Studio Load Fix #11756
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Fixes the regression where the BinaryLogger was not being included in the loggers for C++ projects under Visual Studio 17.13.
- Uses the null-coalescing operator to default to an empty collection if loggers is null
- Concatenates the new BinaryLogger to always include it in the logger collection
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR addresses a regression in Visual Studio 17.13 where a BinaryLogger was not being appended when loading C++ projects by ensuring that the logger is always included.
- Fixes the bug by modifying the null check and concatenation on the loggers collection
- Updates the array initialization syntax using C# 12 patterns
This reverts commit 2b52a14.
This reverts commit 2b52a14.
…into cpp-binlog-fix
|
Closing this PR because we want to target 17.14 instead #11774 |
Fixes #11678
Context
Regression in Visual Studio 17.13 (worked in 17.12).
Binlog is not created for C++ project on Visual Studio load.
The bug is on this line:
msbuild/src/Build/BackEnd/BuildManager/BuildManager.cs
Line 671 in 7ad4e1c
The PR that changed this line:
https://github.com/dotnet/msbuild/pull/10758/files#diff-2b0716a511d8f4ee690ebd5c3a59dec1e3f9a5eab4ab2a80a1018820a658accbL671
The code before and after
Before
logger(BinaryLogger here) was always included.Changes Made
Made sure to include the BinaryLogger.
Testing
Manual testing:
MSBUILDDEBUGENGINEandMSBUILDDEBUGPATHMSBUILDDEBUGPATHfor the binlogsFor using the correct msbuild
build.cmdscript~\msbuild\artifacts\bin\bootstrap\net472\MSBuild\Currentinstead of{Visual Studio path }\MSBuild\CurrentNotes
There is also a same mistake with misplaced brackets here:
https://github.com/dotnet/msbuild/pull/10758/files#diff-9ee98aebd9b1aea9900e0b2859bdcbe6b6bdda285f4b5771d9bdeb8b2f480b8dL1708
Reverting this causes a test to fail .