JSON.NET is no longer used by the majority of Razor product code. The
only components that use NewtonSoft.Json are LiveShare, benchmarks, and
the testing infrastructure. So, I've moved the JSON serialization
support code into a shared project that is linked into the appropriate
places, rather than compiled into `ProjectEngineHost`.
* Make unittest reliable
Make RazorExtension the default project after clean
* Remove shared state from test class
* Maybe the dispatcher is busy in CI due to slower machines?
---------
Co-authored-by: David Wengier <david.wengier@microsoft.com>
* Copy a set of tests from the regular Language tests to a new legacy test project, that will continue to validate SpanEditHandlers
* Only validate SpanEditHandlers in the legacy tests
* Update baselines
* Update tooling layer
* Updated tooling test baselines.
Similar to the Microsoft.Net.Compilers.Toolset package that we use in roslyn, this nuget package will override the generators used by a project, replacing them with the specific versions from this package. The purpose of this package is to allow shipping hotfixes to customers directly in a simple manner, without having to ask them to manually do a bunch of msbuild magic or replacing existing dlls. It may be helpful to reference the targets that add the razor generators to the compilation in the first place when reviewing: https://github.com/dotnet/sdk/blob/main/src/RazorSdk/Targets/Microsoft.NET.Sdk.Razor.SourceGenerators.targets#L15.
This project will contain code from MS.CA.Razor.Workspaces and MS.ASP.Razor.LanguageServer.Common which is responsible for hosting the Razor compiler, and producing the razor.project.json file, but shouldn't live in those projects because they have incompatible dependencies.
With the introduction of Microsoft.AspNetCore.Razor.Utilities.Shared,
this assembly is no longer useful. The only types left in it were
in support telemetry, and those can easily be moved to
Microsoft.CodeAnalysis.Razor.Workspaces, which is already referenced by
most tooling projects. This will help reduce image loads in Visual
Studio.