Since the lifetime of the `RazorProjectInfoDriver` is the same as the language service, we let our language server client create and initialize it during activation. This means that the driver no longer needs to check if `IsLSPEditorAvailable()` since its constructed by the LSP editor's language client.
Microsoft.SourceBuild.Intermediate.source-build-reference-packages
From Version 9.0.0-alpha.1.24278.2 -> To Version 9.0.0-alpha.1.24304.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
`ISnapshotResolver` is really just a collection of methods that operate
on `IProjectSnapshotManager`. Given that, its existence has also seemed
a bit contrived. Even stranger, `ISnapshotResolver` is responsible the
miscellaneous files project in the language server.
This change ensures that the miscellaneous files project is added to the
`IProejctSnapshotManager` when the project manager is created. Then, it
transforms all of the `ISnapshotResolver` methods into extension methods
on `IProjectSnapshotManager`.
Update `ProjectSnapshotManger` to take an optional delegate that can be used to populate the initial set of projects and documents in the constructor. In the language server, this is used to add the miscellaneous files project.
In aid of future moves to System.Text.Json, cleaning up our middle layer
helps a bit because a) its one of the APIs that tie us and Roslyn to
Newtonsoft, but we don't actually take advantage, and b) we have to
implement an interface that is tied to Newtonsoft but we don't actually
benefit from.
I also stopped us using our own contained language library for the
middle layer bits because we weren't getting any real value of it, and
it makes this simpler in future to be able to separate what we need,
versus what contained library consumers need.
I noticed a `Package.GetGlobalService(...)` call and decided to go ahead
and clean it up. While working on this, I also replaced a
`SemaphoreSlim` with a VS `ReentrantSemaphore`.
This started out with a goal of removing a call to `JTF.Run(...)` and
ended up a few more tweaks.
@davidwengier: I have no idea how to invoke this command on a Razor
file. Do you have any tips?
This is an automatically generated pull request from release/dev17.11
into main.
Once all conflicts are resolved and all the tests pass, you are free to
merge the pull request. 🐯
## Troubleshooting conflicts
### Identify authors of changes which introduced merge conflicts
Scroll to the bottom, then for each file containing conflicts copy its
path into the following searches:
- https://github.com/dotnet/razor/find/release/dev17.11
- https://github.com/dotnet/razor/find/main
Usually the most recent change to a file between the two branches is
considered to have introduced the conflicts, but sometimes it will be
necessary to look for the conflicting lines and check the blame in each
branch. Generally the author whose change introduced the conflicts
should pull down this PR, fix the conflicts locally, then push up a
commit resolving the conflicts.
### Resolve merge conflicts using your local repo
Sometimes merge conflicts may be present on GitHub but merging locally
will work without conflicts. This is due to differences between the
merge algorithm used in local git versus the one used by GitHub.
``` bash
git fetch --all
git checkout -t upstream/merges/release/dev17.11-to-main
git reset --hard upstream/main
git merge upstream/release/dev17.11
# Fix merge conflicts
git commit
git push upstream merges/release/dev17.11-to-main --force
```
This change cleans up `VisualStudioWindowsLogHubTraceProvider` in the following ways:
- Remove call to `Package.GetGlobalService(...)`and use newer `IVsService<,>` helper
- Replace `SemaphoreSlim` with a `ReentrantSemaphore`. (Related to #10390)
Microsoft.SourceBuild.Intermediate.source-build-reference-packages
From Version 9.0.0-alpha.1.24270.1 -> To Version 9.0.0-alpha.1.24278.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk
From Version 8.0.0-beta.24225.1 -> To Version 8.0.0-beta.24270.4
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>