-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Binlog not produced for C++ project on Visual Studio Load Fix #11773
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
…6.13.0.46 NuGet.Build.Tasks From Version 6.12.0-rc.127 -> To Version 6.13.0-preview.1.46
This is based only on code inspection / static analysis / searching around. It is not based on profiling.
…t#11504) Part of dotnet#11160 ### Context While profiling some of Eric's PRs and one of my experiments, I've noticed following: <img width="953" alt="terminall_loger_get_width_height_cost" src="https://github.com/user-attachments/assets/bb3478c3-e669-4911-b6b0-0c834e38305e" /> Terminal width/height are behind a lock and repeated access is quite expensive. ### Changes Made I've set it so that the update is happening only once every ~second or so. This makes the cost negligible. Note that this appears to be ~1.5% CPU time saved on the main node, which is the one under heaviest load due to IPC with all the other nodes. ### Testing None, this should be non-disruptive change. ### Notes Refresh frequency is up to discussion. Making it twice a second should be fine as well.
This reverts commit aa508b8. No need to worry about speed on this path so let's just match existing behavior.
Fix the issue https://github.com/dotnet/msbuild/actions/runs/13778304840/job/38531781822 that failed to create the PR since the head parameter doesn't include the owner
…6.14.0.66 (dotnet#11552) NuGet.Build.Tasks From Version 6.14.0-preview.1.53 -> To Version 6.14.0-preview.1.66 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Gang Wang <[email protected]>
Fixes dotnet#9176 Context Occasionally temp files fail to delete because of virus checkers, so generate MSB5018 warning. The commit d7788d6#diff-3abd8382aac3bdfa59d5c1ca41dd089795d6ca539a00b3c50eab4fd6a0996314 including string lockedFileMessage = LockCheck.GetLockedFileMessage(fileName); doesn't output the related process. Changes Made Add the warning MSB5018
* Switch to AwesomeAssertions * Account for library breaking change
* Add DisallowNull for LoadType property * Enable Nullable Reference Types * Fix issues after enable nullable * Fix System.IndexOutOfRangeException: Index was outside the bounds of the array * Enable nullable for dile TaskLoader.cs * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: YuliiaKovalova <[email protected]> Co-authored-by: Copilot <[email protected]>
* deleted file import * deleted unused props files * bring back import, just unconditional * removed props files references from more files * another props removal
…otnet#11737) This reverts commit dd2f7ad, reversing changes made to af0a20f.
And some minor clean-up changes: * added readonly to a field * added parameter names to function parameters
* log telemetry load failure * fix buildmanager state in test * fix usings broken by merge * fix race condition
…418.8 (dotnet#11749) Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.Net.Compilers.Toolset From Version 4.14.0-3.25210.2 -> To Version 4.14.0-3.25218.8 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: YuliiaKovalova <[email protected]>
Add these info to etl traces: Add a cancellation started event to better track the timeline of cancellation (when a customer attempts to cancel a build) Add Target List to build project start event ((now it's only on build stop event)
…: Build ID 11466882 (dotnet#11761) Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 11466940
…: Build ID 11473012 (dotnet#11764)
…ence-packages build 20250423.3 (dotnet#11757) Microsoft.SourceBuild.Intermediate.source-build-reference-packages From Version 9.0.0-alpha.1.25209.1 -> To Version 9.0.0-alpha.1.25223.3 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
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.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
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 fixes a regression where the BinaryLogger was not being included for C++ projects on Visual Studio load and also corrects an input concatenation issue in the GenerateResource task.
- Ensures the BinaryLogger is always appended when the loggers collection is null.
- Revises the concatenation of task input arrays to use standard collection operations.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/Tasks/GenerateResource.cs | Replaces an invalid bracket/spread syntax with Concat to combine inputs. |
| src/Build/BackEnd/BuildManager/BuildManager.cs | Corrects the concatenation expression to always include the BinaryLogger. |
Comments suppressed due to low confidence (2)
src/Tasks/GenerateResource.cs:1708
- The revised expression correctly combines 'References' and 'AdditionalInputs', ensuring proper behavior. Please verify that the changed type (from ITaskItem[] to IEnumerable) is acceptable in this context.
var inputs = (this.References ?? []).Concat(this.AdditionalInputs ?? []);
src/Build/BackEnd/BuildManager/BuildManager.cs:681
- This change ensures that the BinaryLogger is always included even when 'loggers' is null. Double-check that the new array literal syntax '[logger]' is supported by the target framework.
return (loggers ?? []).Concat([logger]);
|
Closing this as we want to target 17.14 #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 .