-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Reapply "Load Microsoft.DotNet.MSBuildSdkResolver into default load context" #10603
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
|
Can you please link the mentioned exp VS insertion? |
https://devdiv.visualstudio.com/DevDiv/_git/VS/pullrequest/575724 though it's odd that it hasn't run Perf DDRITs. I just requested Perf DDRITs one more time. If it doesn't work I'll create a new insertion. |
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.
Looks good.
I have minore comment for improving maintainability
b70e50e to
ea7ebd9
Compare
|
I have addressed the comment and made another exp insertion, this time with Perf DDRITs results. It seems to be clean module some minor unrelated noise. |
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.
This looks good to me but I was surprised to not see an improvement in the MethodsJitted counters in the insertion. Are we sure it's working?
I have high confidence that JITting of |
Context
Now that dotnet/sdk#39573 has made it into VS, we can finally enable loading
Microsoft.DotNet.MSBuildSdkResolverby assembly name, as opposed to file path, which makes it possible to use its NGEN image.Changes Made
Re-did #9439 which had to be reverted because of the problematic dependency on
Newtonsoft.Json. The .NET SDK resolver does not depend onNewtonsoft.Jsonanymore. All the other pieces are already in place:Microsoft.DotNet.MSBuildSdkResolveris NGENed, both for MSBuild.exe and for devenv.exe.devenv.exe.configcontains binding redirects analogous to what's added in this PR.Testing
Experimentally inserted into VS and verified that
Microsoft.DotNet.MSBuildSdkResolveris no longer JITted, saving ~50-100 ms of MSBuild.exe startup time.