-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
VS Binlog has evaluations that don't include property/item data with MSBUILDLOGIMPORTS #10225
Comments
Have been able to reproduce the issue:
|
Have we validated that @JanKrivanek's change actually fixes this? Binlogs obtained from VS have always been deficient and missing info. The Project System Tools extension was especially bad, but even the MSBUILDDEBUGENGINE=1 mode produces no evaluation and I thought it's because CPS evaluates separately from builds. See related:
I don't think MuxLogger is the problem. I have an environment where MuxLogger is present but still the binlogs have the full information. |
Another way to test this is set the env variable MSBUILDLOGPROPERTIESANDITEMSAFTEREVALUATION=1 and see if it fixes things. If it does then yes, it indicates a legacy logger is present. But I suspect it won't fix it. |
there will be no evaluation in the logs of build, because it already happened, but there should be a log with evaluations in it, and this one seems to be that one . . . except they're incomplete. |
I've never understood how are evaluations separate from build? How is it implemented? |
The I'll double/triple check and debug the scenario next week (away from my devbox now) to confirm the theory. |
Reopening as fix introduced VS perf regression - we will need to fix that one in coordination with the fix |
We'll need to investigate the hidden root-cause, in order to prevent the perf regression after fix. First we'll need to find stable repro - steps:
Check the binlog - evaluation result of a project should normally contain properties and items: If they are missing - issue reproduces. If issue doesn't reproduce, try:
Once repro is found, we'll need previous - unbroken instance
Once we have 2 versions to compare - we'll need to look into behavior differences
If any of the above steps doesn't work - please do not continue with further steps (as they might expect the previous steps are true) - instead we'll need to figure adjustment of investigation. |
No matter disabling msbuild in-proc node or not, this issue could be reproduced with older VS versions, even back to 17.0.0. VS 2019(16.11.38) also has this issue. It means this issue has existed for a long time. With Jan's help, I looked into which loggers are registered and which of these call IEventSource4.IncludeEvaluationPropertiesAndItems() in Initialize(IEventSource eventSource) of the loggers through debugging with
|
Thank you @GangWang01! |
Enabling binary logger by setting
|
I am in possession of a binlog that looks like this
So it did evaluation, including firing the import events AND EMBEDDING THE FILES but somehow didn't report post-evaluation item and property states?
The text was updated successfully, but these errors were encountered: