Only set debug path when MSBuildDebugEngine is set #6792
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Fixes #6772, fixes AB#1386501
Changes Made
In #6639 I thought it would be a good idea to always expose exceptions by always setting msbuild's debug path, fallbacking to the current working directory. But apparently that's a breaking change :)
Also, some processes (like VS helpers) do not propagate the user's CWD and thus end up writing under Program Files which fails with permission exceptions.
So only set the debug path to the current working directory when
MSBuildDebugEngine
is set.Testing
Unit test and manual tests
Notes
I couldn't actually repro #6772. What I did instead was to change the oop nodes to crash right after completing the handshake, and checked that
MSBuild_Logs
does not appear in the CWD, but instead the exception dumps appear under Temp.