Repository navigation
Lazy initialize cred providers in VS - #7759
Merged
Merged
Conversation
nkolev92
approved these changes
Oct 8, 2026
This was referenced Oct 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Bug
Fixes: NuGet/Home#10994
Description
#7745 changed the VS credential service provider to take methods in the constructor, so the service itself could be testable. However, in order for the product code to get the method pointers in the constructor, the methods need to be resolved at the time the constructor runs, not when the method is first called. This caused a VS perf test regression, as NuGet.Credentials.dll is now being loaded when it's otherwise not needed.
Therefore, the fix is to not reference the product functions until they're actually needed, effectively lazy loading them. But we can keep the func pointers so that the code is testable still.
PR Checklist
Link to an issue or pull request to update docs if this PR changes settings, environment variables, new feature, etc.N/A