Revert "Reduce File I/O under the AnalyzerAssemblyLoader folder (#724…#75761
Revert "Reduce File I/O under the AnalyzerAssemblyLoader folder (#724…#75761Cosifne wants to merge 6 commits intodotnet:mainfrom
Conversation
| AssemblyName? bestName = null; | ||
| foreach (var candidateOriginalPath in paths.OrderBy(StringComparer.Ordinal)) | ||
| { | ||
| (AssemblyName? candidateName, string candidateRealPath) = GetAssemblyInfoForPath(candidateOriginalPath); |
There was a problem hiding this comment.
I keep GetBestPath change from Todd's PR as I see later this method (line 290)
public string? GetOriginalDependencyLocation(AssemblyName assemblyName)
{
CheckIfDisposed();
return GetBestPath(assemblyName).BestOriginalPath;
}
is referencing the BestOriginalPath
|
Have you done a test insertion with this change to see if there are any noticeable perf regressions? |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
@jaredpar -- is there an alternative branch/PR you are working on for this that I can take a look at out of curioisity? |
|
This PR moves the analyzer loading behaviors into two interfaces that can be composed. The big change there is that shadow copying no longer has an inheritance relationship anymore but instead is a composable component. That makes it a lot easier to customize it. For example can have the VS layer turn on "eagerly shadow copy resources" and leave that off everywhere else. The PR is not done yet, still working on the details and haven't pushed much customization in the VS layer but you can see the overall shape I'm going for. |
Revert #72412 and fix https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2285967/