This turned out to be quite a rabbit hole to go down. This morning, I
noticed that an OmniSharp package was still referenced by our unit
tests. I decided to get rid of that but found that it was necessary
because our unit tests reference a very old version of the Web Tools
language server assemblies, which still depend on OmniSharp. So, I
needed to update those to the latest. However, updating Web Tools
required reworking all of the reflection code that interacts with the
Web Tools langauge server. Ultimately, I ended up introducing a small
reflection framework so that code interacting with Web Tools types can
be strongly typed.
Note: This may result in NGEN failures when inserted into VS because we
no longer ship or NGEN the following binaries:
* MediatR.dll
* Microsoft.Extensions.Configuration.Binder.dll
* Microsoft.Extensions.Options.ConfigurationExtensions.dll
* OmniSharp.Extensions.JsonRpc.dll
* OmniSharp.Extensions.LanguageProtocol.dll
* OmniSharp.Extensions.LanguageServer.dll
* OmniSharp.Extensions.LanguageServer.Shared.dll
* System.Reactive.dll
* Add missing compiler tests and dependency projects to the solution filter
* Be RID-specific with asp.net framework testing reference.
* Update Roslyn versions, remove duplicate Moq versions
* Pipe through SuppressUniqueIds to remove checksums from test baselines
* Depend on roslyn test utilities, use their diagnostic verification.
* Add packagemappins
* Adjust more usings in Razor.Language tests.
* Update property name for consistency.
* Update comment wording.
* Route TestSuppressUniqueIds through a different path.
* Consolidate roslyn versions
We had multiple sets of roslyn references, differing between the compiler and the tooling. This consolidates those versions and updates the compiler references to be inline with the tooling.
* Filter out compiler-generated types such as RefSafetyRulesAttribute and EmbeddedAttribute.
* Update Roslyn to 4.5.0-2.23107.1
* Add reference to `ExternalAccess.RazorCompiler`
* Emit design-time outputs from the source generator
* Emit host outputs from the source generator
* Test host outputs
* Generate both design-time and runtime outputs
* Switch to implementation output
* Remove `general-testing` feed
* Update Roslyn to 4.6.0-2.23110.2
* Update Roslyn to 4.6.0-2.23113.3
* Remove blank line
* Re-do changes of this PR onto main
* Update Roslyn to 4.7.0-2.23227.6
* Skip host outputs unless opted-in
* Update Roslyn to 4.7.0-2.23253.2
---------
Co-authored-by: Fredric Silberberg <frsilb@microsoft.com>
* Update dependencies from https://github.com/dotnet/arcade build 20230518.1
Microsoft.DotNet.Arcade.Sdk
From Version 8.0.0-beta.23265.1 -> To Version 8.0.0-beta.23268.1
Dependency coherency updates
Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
From Version 8.0.0-beta.23218.3 -> To Version 8.0.0-beta.23252.2 (parent: Microsoft.DotNet.Arcade.Sdk
* Add .NET 8 packaging sources, remove old unused feeds.
* Add back in vs-impl-archived
* Update dependencies from https://github.com/dotnet/arcade build 20230519.1
Microsoft.DotNet.Arcade.Sdk
From Version 8.0.0-beta.23265.1 -> To Version 8.0.0-beta.23269.1
Dependency coherency updates
Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
From Version 8.0.0-beta.23218.3 -> To Version 8.0.0-beta.23252.2 (parent: Microsoft.DotNet.Arcade.Sdk
* More package source cleanup
* Remove explicit xunit.assert references as arcade now brings them in.
* Move to the .NET 8 transport feed.
* Add back in the .NET 8 feed
* Add XUnit back to just the common test helper leg.
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Fredric Silberberg <frsilb@microsoft.com>
When originally created, the tooling micro benchmarks lifted a small
bit of infrastructure from the aspnetcore repo to run BenchmarkDotNet.
This change removes that infrastructure and adds simpler logic to run
tests that is based on code from https://github.com/dotnet/performance.
In addition, BDN has been updated and a package reference has been added
to BenchmarkDotNet.Performance.Windows. This makes it easy to capture an
ETW profile on Windows.
Since integrating our repos, there have been a number of changes in PRs that touch the encoding of the file, adding or removing a BOM as the editor in question decides. I've standardized on UTF-8 with BOM, as we do in roslyn, and put it in the .gitattributes so it should hopefully stay consistent.
* Factor out the razor benchmarks into mostly manually listed ones
* Add ETW and memory diagnostics when available
* Rename benchmarks
* Add unit tests for the benchmarks
* Return generatordriver from benchmarks
* Simplify benchmark construction
* Add more benchmark tests
* Fix component governance issues for main branch
- Upping all of our dependencies so we're on the latest of everything.
- One of the primary goals of this change is to get to the latest Newtonsoft.Json version (13.0.1).
- Re-generated package source mappings and added a comment on how to generate more in the future. Had to do this because I needed to bug a few folks on the infra side to upload newer O# packages which indirectly referenced bad Newtonsoft versions.
Hopefully fixes#6606
* Fix obsolete build failures
* Add more package source maps
[main] Update dependencies from dotnet/aspnetcore
- Coherency Updates:
- Microsoft.NETCore.App.Ref: from 6.0.1 to 6.0.2 (parent: Microsoft.AspNetCore.Testing)
- Microsoft.NETCore.BrowserDebugHost.Transport: from 6.0.1-servicing.21567.5 to 6.0.2-servicing.22064.6 (parent: Microsoft.AspNetCore.Testing)
- Microsoft.NETCore.App.Runtime.win-x64: from 6.0.1 to 6.0.2 (parent: Microsoft.AspNetCore.Testing)
Microsoft.CodeAnalysis.Razor , Microsoft.AspNetCore.Testing , Microsoft.AspNetCore.Razor.Language , Microsoft.AspNetCore.Razor.Internal.Transport , Microsoft.AspNetCore.Mvc.Razor.Extensions.Version2_X , Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X , Microsoft.AspNetCore.Mvc.Razor.Extensions
From Version 6.0.0-rtm.21518.12 -> To Version 6.0.1
Dependency coherency updates
Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging,System.Diagnostics.DiagnosticSource,System.Resources.Extensions,System.Text.Encodings.Web,Microsoft.Extensions.DependencyModel,Microsoft.NETCore.App.Ref,Microsoft.NETCore.BrowserDebugHost.Transport,Microsoft.NETCore.App.Runtime.win-x64,Microsoft.NETCore.Platforms
From Version 6.0.0-rtm.21518.4 -> To Version 6.0.0 (parent: Microsoft.CodeAnalysis.Razor
Microsoft.CodeAnalysis.Razor , Microsoft.AspNetCore.Testing , Microsoft.AspNetCore.Razor.Language , Microsoft.AspNetCore.Razor.Internal.Transport , Microsoft.AspNetCore.Mvc.Razor.Extensions.Version2_X , Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X , Microsoft.AspNetCore.Mvc.Razor.Extensions
From Version 6.0.0-rtm.21518.12 -> To Version 6.0.1
Dependency coherency updates
Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging,System.Diagnostics.DiagnosticSource,System.Resources.Extensions,System.Text.Encodings.Web,Microsoft.Extensions.DependencyModel,Microsoft.NETCore.App.Ref,Microsoft.NETCore.BrowserDebugHost.Transport,Microsoft.NETCore.App.Runtime.win-x64,Microsoft.NETCore.Platforms
From Version 6.0.0-rtm.21518.4 -> To Version 6.0.0 (parent: Microsoft.CodeAnalysis.Razor
Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging,System.Diagnostics.DiagnosticSource,System.Resources.Extensions,System.Text.Encodings.Web,Microsoft.Extensions.DependencyModel,Microsoft.NETCore.App.Ref,Microsoft.NETCore.BrowserDebugHost.Transport,Microsoft.NETCore.App.Runtime.win-x64,Microsoft.NETCore.Platforms
From Version 6.0.0-rtm.21518.4 -> To Version 6.0.0 (parent: Microsoft.CodeAnalysis.Razor
Microsoft.CodeAnalysis.Razor , Microsoft.AspNetCore.Testing , Microsoft.AspNetCore.Razor.Language , Microsoft.AspNetCore.Razor.Internal.Transport , Microsoft.AspNetCore.Mvc.Razor.Extensions.Version2_X , Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X , Microsoft.AspNetCore.Mvc.Razor.Extensions
From Version 6.0.0 -> To Version 6.0.0