dotnet / dotnet/msbuild

Log item Includes, Removes and Updates during evaluation

Open
#10,103 4 comments 0 reactions 0 assignees View on GitHub
Area: BuildCheck Area: Debuggability Area: Logging triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

One of the biggest missing features in logging that keeps hurting us is we don't log item includes, removes and updates during evaluation, with the source location where it happened.

We do log the final set of all items after evaluation is done, but it is currently impossible to see where a specific item was added during evaluation.

We should consider logging a TaskParameterEventArgs perhaps (even though the same is not the best fit semantically), because we already have all the infrastructure for items that are logged during target execution. We can reuse the same infrastructure during evaluation as well.

One potential pitfall here is perf, so need to be careful and measure eval perf before and after. Maybe only do this when the binary logger is present.

This is in complement for the similar request for properties:
https://github.com/dotnet/msbuild/issues/2711

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.