Răsfoiți Sursa

[master] Update dependencies from aspnet/AspNetCore-Tooling (#10596)

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190527.1

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19277.1
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19277.1
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19277.1
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19277.1

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190528.1

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19278.1
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19278.1
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19278.1
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19278.1

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Http - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Primitives - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.JSInterop - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Mono.WebAssembly.Interop - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.CSharp - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Win32.Registry - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.ComponentModel.Annotations - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Diagnostics.EventLog - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.IO.Pipelines - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.Http.WinHttpHandler - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Reflection.Metadata - 1.7.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Cng - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Pkcs - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Xml - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Permissions - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Principal.Windows - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.ServiceProcess.ServiceController - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Encodings.Web - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Json - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Threading.Channels - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Internal.AspNetCore.Analyzers - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.Testing - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190528.3

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19278.3
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19278.3
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19278.3
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19278.3

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Http - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Primitives - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.JSInterop - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Mono.WebAssembly.Interop - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.CSharp - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Win32.Registry - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.ComponentModel.Annotations - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Diagnostics.EventLog - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.IO.Pipelines - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.Http.WinHttpHandler - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Reflection.Metadata - 1.7.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Cng - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Pkcs - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Xml - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Permissions - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Principal.Windows - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.ServiceProcess.ServiceController - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Encodings.Web - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Json - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Threading.Channels - 4.6.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19274.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Internal.AspNetCore.Analyzers - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.Testing - 3.0.0-preview6.19278.1 (parent: Microsoft.CodeAnalysis.Razor)

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190529.3

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19279.3
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19279.3
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19279.3
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19279.3

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Http - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Primitives - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.JSInterop - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Mono.WebAssembly.Interop - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.CSharp - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Win32.Registry - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.ComponentModel.Annotations - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Diagnostics.EventLog - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.IO.Pipelines - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.Http.WinHttpHandler - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Reflection.Metadata - 1.7.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Cng - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Pkcs - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Xml - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Permissions - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Principal.Windows - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.ServiceProcess.ServiceController - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Encodings.Web - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Json - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Threading.Channels - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Internal.AspNetCore.Analyzers - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.Testing - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190529.4

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19279.4
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19279.4
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19279.4
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19279.4

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Http - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Primitives - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.JSInterop - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Mono.WebAssembly.Interop - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.CSharp - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Win32.Registry - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.ComponentModel.Annotations - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Diagnostics.EventLog - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.IO.Pipelines - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.Http.WinHttpHandler - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Reflection.Metadata - 1.7.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Cng - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Pkcs - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Xml - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Permissions - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Principal.Windows - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.ServiceProcess.ServiceController - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Encodings.Web - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Json - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- System.Threading.Channels - 4.6.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- NETStandard.Library.Ref - 2.1.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19278.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27728-04 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Internal.AspNetCore.Analyzers - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.Testing - 3.0.0-preview6.19279.2 (parent: Microsoft.CodeAnalysis.Razor)

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190529.5

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19279.5
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19279.5
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19279.5
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19279.5

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190529.7

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19279.7
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19279.7
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19279.7
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19279.7

* Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Http - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Primitives - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.JSInterop - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Mono.WebAssembly.Interop - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.CSharp - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Win32.Registry - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.ComponentModel.Annotations - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Diagnostics.EventLog - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.IO.Pipelines - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.Http.WinHttpHandler - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Reflection.Metadata - 1.7.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Cng - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Pkcs - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Xml - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Permissions - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Principal.Windows - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.ServiceProcess.ServiceController - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Encodings.Web - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Json - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- System.Threading.Channels - 4.6.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- NETStandard.Library.Ref - 2.1.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19277.2 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-03 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Internal.AspNetCore.Analyzers - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.Testing - 3.0.0-preview6.19279.7 (parent: Microsoft.CodeAnalysis.Razor)

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190529.8

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19279.8
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19279.8
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19279.8
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19279.8

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Http - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Primitives - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.JSInterop - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Mono.WebAssembly.Interop - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.CSharp - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Win32.Registry - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.ComponentModel.Annotations - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Diagnostics.EventLog - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.IO.Pipelines - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.Http.WinHttpHandler - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Reflection.Metadata - 1.7.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Cng - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Pkcs - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Xml - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Permissions - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Principal.Windows - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.ServiceProcess.ServiceController - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Encodings.Web - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Json - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- System.Threading.Channels - 4.6.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- NETStandard.Library.Ref - 2.1.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19279.5 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27729-07 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Internal.AspNetCore.Analyzers - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.Testing - 3.0.0-preview6.19279.11 (parent: Microsoft.CodeAnalysis.Razor)

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190530.2

- Microsoft.NET.Sdk.Razor - 3.0.0-preview6.19280.2
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview6.19280.2
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview6.19280.2
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview6.19280.2

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Configuration - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Hosting - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Http - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Localization - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Options - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.Primitives - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.JSInterop - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Mono.WebAssembly.Interop - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.CSharp - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Win32.Registry - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.ComponentModel.Annotations - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Diagnostics.EventLog - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.IO.Pipelines - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.Http.WinHttpHandler - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Reflection.Metadata - 1.7.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Cng - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Pkcs - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Cryptography.Xml - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Permissions - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Security.Principal.Windows - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.ServiceProcess.ServiceController - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Encodings.Web - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Text.Json - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- System.Threading.Channels - 4.6.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- NETStandard.Library.Ref - 2.1.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19279.8 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.App - 3.0.0-preview6-27730-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Internal.AspNetCore.Analyzers - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
- Microsoft.AspNetCore.Testing - 3.0.0-preview6.19280.1 (parent: Microsoft.CodeAnalysis.Razor)
dotnet-maestro[bot] 6 ani în urmă
părinte
comite
dd07fa09d2
100 a modificat fișierele cu 909 adăugiri și 700 ștergeri
  1. 174 174
      eng/Version.Details.xml
  2. 87 87
      eng/Versions.props
  3. 35 12
      src/Components/Blazor/Blazor/src/Http/WebAssemblyHttpMessageHandler.cs
  4. 1 1
      src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj
  5. 4 3
      src/Components/Blazor/Build/src/Core/BootJsonWriter.cs
  6. 5 1
      src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj
  7. 20 20
      src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs
  8. 1 1
      src/Components/Blazor/Build/test/ComponentRenderingRazorIntegrationTest.cs
  9. 3 3
      src/Components/Blazor/Build/test/GenericComponentRazorIntegrationTest.cs
  10. 9 9
      src/Components/Blazor/Build/test/RenderingRazorIntegrationTest.cs
  11. 40 12
      src/Components/Blazor/Build/test/RuntimeDependenciesResolverTest.cs
  12. 1 1
      src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Counter.razor
  13. 2 2
      src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/NavMenu.razor
  14. 1 1
      src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/Counter.razor
  15. 2 2
      src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Shared/NavMenu.razor
  16. 11 10
      src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Json.razor
  17. 3 3
      src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/RenderList.razor
  18. 2 2
      src/Components/Blazor/testassets/StandaloneApp/Pages/Counter.razor
  19. 3 3
      src/Components/Blazor/testassets/StandaloneApp/Shared/NavMenu.razor
  20. BIN
      src/Components/Browser.JS/.npmrc
  21. 14 10
      src/Components/Browser.JS/dist/Debug/blazor.server.js
  22. 14 10
      src/Components/Browser.JS/dist/Debug/blazor.webassembly.js
  23. 0 0
      src/Components/Browser.JS/dist/Release/blazor.server.js
  24. 0 0
      src/Components/Browser.JS/dist/Release/blazor.webassembly.js
  25. 1 1
      src/Components/Browser.JS/package.json
  26. 1 1
      src/Components/Browser.JS/src/Rendering/ElementReferenceCapture.ts
  27. 23 4
      src/Components/Browser.JS/src/Services/Http.ts
  28. 4 4
      src/Components/Browser.JS/yarn.lock
  29. 5 1
      src/Components/Browser/src/Microsoft.AspNetCore.Components.Browser.csproj
  30. 41 12
      src/Components/Browser/src/RendererRegistryEventDispatcher.cs
  31. 3 2
      src/Components/Components/ref/Microsoft.AspNetCore.Components.netstandard2.0.cs
  32. 2 2
      src/Components/Components/src/BindAttributes.cs
  33. 14 14
      src/Components/Components/src/ElementRef.cs
  34. 1 1
      src/Components/Components/src/Forms/InputComponents/InputBase.cs
  35. 1 1
      src/Components/Components/src/Forms/InputComponents/InputCheckbox.cs
  36. 1 1
      src/Components/Components/src/Forms/InputComponents/InputText.cs
  37. 1 1
      src/Components/Components/src/Forms/InputComponents/InputTextArea.cs
  38. 6 6
      src/Components/Components/src/HttpClientJsonExtensions.cs
  39. 15 0
      src/Components/Components/src/JsonSerializerOptionsProvider.cs
  40. 1 1
      src/Components/Components/src/Microsoft.AspNetCore.Components.csproj
  41. 9 4
      src/Components/Components/test/HttpClientJsonExtensionsTest.cs
  42. 15 0
      src/Components/test/E2ETest/TestJsonSerializerOptionsProvider.cs
  43. 3 1
      src/Components/test/E2ETest/Tests/InteropTest.cs
  44. 5 4
      src/Components/test/E2ETest/Tests/KeyTest.cs
  45. 2 3
      src/Components/test/E2ETest/Tests/PerformanceTest.cs
  46. 3 3
      src/Components/test/testassets/BasicTestApp/AddRemoveChildComponents.razor
  47. 1 1
      src/Components/test/testassets/BasicTestApp/AfterRenderInteropComponent.razor
  48. 3 3
      src/Components/test/testassets/BasicTestApp/AsyncEventHandlerComponent.razor
  49. 7 1
      src/Components/test/testassets/BasicTestApp/AuthTest/ClientSideAuthenticationStateData.cs
  50. 40 40
      src/Components/test/testassets/BasicTestApp/BindCasesComponent.razor
  51. 1 1
      src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueReceiveFixedByInterface.razor
  52. 3 3
      src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueSupplier.razor
  53. 4 4
      src/Components/test/testassets/BasicTestApp/ComponentRefComponent.razor
  54. 2 2
      src/Components/test/testassets/BasicTestApp/CounterComponent.razor
  55. 2 2
      src/Components/test/testassets/BasicTestApp/CounterComponentUsingChild.razor
  56. 4 4
      src/Components/test/testassets/BasicTestApp/DispatchingComponent.razor
  57. 3 3
      src/Components/test/testassets/BasicTestApp/ElementRefComponent.razor
  58. 5 5
      src/Components/test/testassets/BasicTestApp/EventBubblingComponent.razor
  59. 1 1
      src/Components/test/testassets/BasicTestApp/EventCallbackTest/ButtonComponent.razor
  60. 2 2
      src/Components/test/testassets/BasicTestApp/EventCallbackTest/EventCallbackCases.razor
  61. 1 1
      src/Components/test/testassets/BasicTestApp/EventCallbackTest/InnerButton.razor
  62. 1 1
      src/Components/test/testassets/BasicTestApp/EventCallbackTest/StronglyTypedButton.razor
  63. 3 3
      src/Components/test/testassets/BasicTestApp/EventPreventDefaultComponent.razor
  64. 1 1
      src/Components/test/testassets/BasicTestApp/ExternalContentPackage.razor
  65. 4 4
      src/Components/test/testassets/BasicTestApp/FocusEventComponent.razor
  66. 3 3
      src/Components/test/testassets/BasicTestApp/FormsTest/NotifyPropertyChangedValidationComponent.razor
  67. 2 2
      src/Components/test/testassets/BasicTestApp/FormsTest/SimpleValidationComponent.razor
  68. 10 10
      src/Components/test/testassets/BasicTestApp/FormsTest/TypicalValidationComponent.razor
  69. 3 3
      src/Components/test/testassets/BasicTestApp/HttpClientTest/BinaryHttpRequestsComponent.razor
  70. 4 4
      src/Components/test/testassets/BasicTestApp/HttpClientTest/CookieCounterComponent.razor
  71. 9 9
      src/Components/test/testassets/BasicTestApp/HttpClientTest/HttpRequestsComponent.razor
  72. 1 1
      src/Components/test/testassets/BasicTestApp/Index.razor
  73. 1 1
      src/Components/test/testassets/BasicTestApp/InputEventComponent.razor
  74. 37 17
      src/Components/test/testassets/BasicTestApp/InteropComponent.razor
  75. 1 1
      src/Components/test/testassets/BasicTestApp/InteropOnInitializationComponent.razor
  76. 88 69
      src/Components/test/testassets/BasicTestApp/InteropTest/JavaScriptInterop.cs
  77. 1 1
      src/Components/test/testassets/BasicTestApp/InteropTest/Segment.cs
  78. 4 4
      src/Components/test/testassets/BasicTestApp/KeyCasesComponent.razor
  79. 2 2
      src/Components/test/testassets/BasicTestApp/KeyCasesTreeNode.razor
  80. 3 3
      src/Components/test/testassets/BasicTestApp/KeyPressEventComponent.razor
  81. 1 1
      src/Components/test/testassets/BasicTestApp/MarkupBlockComponent.razor
  82. 6 6
      src/Components/test/testassets/BasicTestApp/MouseEventComponent.razor
  83. 1 1
      src/Components/test/testassets/BasicTestApp/MultipleChildContent.razor
  84. 1 1
      src/Components/test/testassets/BasicTestApp/PrerenderedToInteractiveTransition.razor
  85. 2 2
      src/Components/test/testassets/BasicTestApp/PropertiesChangedHandlerParent.razor
  86. 2 2
      src/Components/test/testassets/BasicTestApp/RenderFragmentToggler.razor
  87. 6 6
      src/Components/test/testassets/BasicTestApp/ReorderingFocusComponent.razor
  88. 2 2
      src/Components/test/testassets/BasicTestApp/RouterTest/Links.razor
  89. 1 1
      src/Components/test/testassets/BasicTestApp/RouterTest/UriHelperComponent.razor
  90. 1 1
      src/Components/test/testassets/BasicTestApp/SvgComponent.razor
  91. 15 0
      src/Components/test/testassets/BasicTestApp/TestJsonSerializerOptionsProvider.cs
  92. 9 9
      src/Components/test/testassets/BasicTestApp/TouchEventComponent.razor
  93. 2 2
      src/Components/test/testassets/ComponentsApp.App/Pages/Counter.razor
  94. 1 1
      src/Components/test/testassets/ComponentsApp.App/Pages/Error.razor
  95. 2 2
      src/Components/test/testassets/ComponentsApp.App/Shared/NavMenu.razor
  96. 2 2
      src/Components/test/testassets/TestContentPackage/ComponentFromPackage.razor
  97. 1 1
      src/Components/test/testassets/TestServer/Controllers/UserController.cs
  98. 0 1
      src/Mvc/Mvc.Core/test/ModelBinding/EnumerableValueProviderTest.cs
  99. 8 8
      src/Mvc/Mvc.Localization/test/HtmlLocalizerTest.cs
  100. 0 5
      src/Mvc/Mvc.ViewFeatures/src/RazorComponents/UnsupportedJavaScriptRuntime.cs

+ 174 - 174
eng/Version.Details.xml

@@ -13,21 +13,21 @@
       <Uri>https://github.com/aspnet/Blazor</Uri>
       <Sha>c879c3a911b4c2d6cccd4d6ff2de86a6949cda88</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.0.0-preview6.19274.4">
+    <Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.0.0-preview6.19280.2">
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>187d2dae3f94981518ac37588925fe1414127248</Sha>
+      <Sha>fd34479f7cb75a088f5517d0a79d9499fdf44036</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="3.0.0-preview6.19274.4">
+    <Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="3.0.0-preview6.19280.2">
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>187d2dae3f94981518ac37588925fe1414127248</Sha>
+      <Sha>fd34479f7cb75a088f5517d0a79d9499fdf44036</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.CodeAnalysis.Razor" Version="3.0.0-preview6.19274.4">
+    <Dependency Name="Microsoft.CodeAnalysis.Razor" Version="3.0.0-preview6.19280.2">
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>187d2dae3f94981518ac37588925fe1414127248</Sha>
+      <Sha>fd34479f7cb75a088f5517d0a79d9499fdf44036</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.NET.Sdk.Razor" Version="3.0.0-preview6.19274.4">
+    <Dependency Name="Microsoft.NET.Sdk.Razor" Version="3.0.0-preview6.19280.2">
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>187d2dae3f94981518ac37588925fe1414127248</Sha>
+      <Sha>fd34479f7cb75a088f5517d0a79d9499fdf44036</Sha>
     </Dependency>
     <Dependency Name="dotnet-ef" Version="3.0.0-preview6.19252.4" Pinned="true">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
@@ -57,340 +57,340 @@
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
       <Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.ActivatorUtilities.Sources" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.ActivatorUtilities.Sources" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Caching.Memory" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Caching.Memory" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Caching.SqlServer" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Caching.SqlServer" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.CommandLineUtils.Sources" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.CommandLineUtils.Sources" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Json" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.Json" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.KeyPerFile" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.KeyPerFile" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Configuration" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.DependencyInjection" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.DependencyInjection" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.DiagnosticAdapter" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.DiagnosticAdapter" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.HashCodeCombiner.Sources" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.HashCodeCombiner.Sources" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Hosting" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Hosting" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Http" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Http" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Localization.Abstractions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Localization.Abstractions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Localization" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Localization" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.AzureAppServices" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.AzureAppServices" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Console" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.Console" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Debug" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.Debug" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Testing" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging.Testing" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Logging" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.ObjectPool" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.ObjectPool" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Options" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Options" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Primitives" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.Primitives" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.TypeNameHelper.Sources" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.TypeNameHelper.Sources" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.ValueStopwatch.Sources" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.ValueStopwatch.Sources" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.WebEncoders" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Extensions.WebEncoders" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Internal.Extensions.Refs" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.Internal.Extensions.Refs" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.JSInterop" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.JSInterop" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Mono.WebAssembly.Interop" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Mono.WebAssembly.Interop" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.CSharp" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="Microsoft.CSharp" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Win32.Registry" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="Microsoft.Win32.Registry" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.ComponentModel.Annotations" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.ComponentModel.Annotations" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     <Dependency Name="System.Data.SqlClient" Version="4.7.0-preview6.19264.9" CoherentParentDependency="Microsoft.NETCore.App" Pinned="true">
       <Uri>https://github.com/dotnet/corefx</Uri>
       <Sha>a28176b5ec68b6da1472934fe9493790d1665cae</Sha>
     </Dependency>
-    <Dependency Name="System.Diagnostics.EventLog" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Diagnostics.EventLog" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.IO.Pipelines" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.IO.Pipelines" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Net.Http.WinHttpHandler" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Net.Http.WinHttpHandler" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Reflection.Metadata" Version="1.7.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Reflection.Metadata" Version="1.7.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Cryptography.Cng" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Security.Cryptography.Cng" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Cryptography.Pkcs" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Security.Cryptography.Pkcs" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Cryptography.Xml" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Security.Cryptography.Xml" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Permissions" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Security.Permissions" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Principal.Windows" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Security.Principal.Windows" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.ServiceProcess.ServiceController" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.ServiceProcess.ServiceController" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Text.Encodings.Web" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Text.Encodings.Web" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Text.Json" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Text.Json" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="System.Threading.Channels" Version="4.6.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="System.Threading.Channels" Version="4.6.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.0.0-preview6-27723-08" CoherentParentDependency="Microsoft.Extensions.Logging">
+    <Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.0.0-preview6-27730-01" CoherentParentDependency="Microsoft.Extensions.Logging">
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>20426e8c486d8715337cb6438ec70bc3619a514d</Sha>
+      <Sha>63abc77da6d99470caa5bfa0465afe244105e595</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.NETCore.App" Version="3.0.0-preview6-27723-08" CoherentParentDependency="Microsoft.Extensions.Logging">
+    <Dependency Name="Microsoft.NETCore.App" Version="3.0.0-preview6-27730-01" CoherentParentDependency="Microsoft.Extensions.Logging">
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>20426e8c486d8715337cb6438ec70bc3619a514d</Sha>
+      <Sha>63abc77da6d99470caa5bfa0465afe244105e595</Sha>
     </Dependency>
-    <Dependency Name="NETStandard.Library.Ref" Version="2.1.0-preview6-27723-08" CoherentParentDependency="Microsoft.Extensions.Logging">
+    <Dependency Name="NETStandard.Library.Ref" Version="2.1.0-preview6-27730-01" CoherentParentDependency="Microsoft.Extensions.Logging">
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>20426e8c486d8715337cb6438ec70bc3619a514d</Sha>
+      <Sha>63abc77da6d99470caa5bfa0465afe244105e595</Sha>
     </Dependency>
   </ProductDependencies>
   <ToolsetDependencies>
     <!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
-    <Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview6.19273.5" CoherentParentDependency="Microsoft.NETCore.App">
+    <Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview6.19279.8" CoherentParentDependency="Microsoft.NETCore.App">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
-    <Dependency Name="Internal.AspNetCore.Analyzers" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Internal.AspNetCore.Analyzers" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     <Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19274.6">
       <Uri>https://github.com/dotnet/arcade</Uri>
@@ -404,9 +404,9 @@
       <Uri>https://github.com/dotnet/arcade</Uri>
       <Sha>b5016f5688dc8ca9f3e4811ee7e2e86ad8907a40</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-preview6.19274.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
+    <Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-preview6.19280.1" CoherentParentDependency="Microsoft.CodeAnalysis.Razor">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
   </ToolsetDependencies>
 </Dependencies>

+ 87 - 87
eng/Versions.props

@@ -23,95 +23,95 @@
     <!-- Packages from dotnet/arcade -->
     <MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19274.6</MicrosoftDotNetGenAPIPackageVersion>
     <!-- Packages from dotnet/core-setup -->
-    <MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview6-27723-08</MicrosoftExtensionsDependencyModelPackageVersion>
-    <MicrosoftNETCoreAppPackageVersion>3.0.0-preview6-27723-08</MicrosoftNETCoreAppPackageVersion>
-    <NETStandardLibraryRefPackageVersion>2.1.0-preview6-27723-08</NETStandardLibraryRefPackageVersion>
+    <MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview6-27730-01</MicrosoftExtensionsDependencyModelPackageVersion>
+    <MicrosoftNETCoreAppPackageVersion>3.0.0-preview6-27730-01</MicrosoftNETCoreAppPackageVersion>
+    <NETStandardLibraryRefPackageVersion>2.1.0-preview6-27730-01</NETStandardLibraryRefPackageVersion>
     <!-- Packages from dotnet/corefx -->
-    <MicrosoftCSharpPackageVersion>4.6.0-preview6.19273.5</MicrosoftCSharpPackageVersion>
-    <MicrosoftWin32RegistryPackageVersion>4.6.0-preview6.19273.5</MicrosoftWin32RegistryPackageVersion>
-    <SystemComponentModelAnnotationsPackageVersion>4.6.0-preview6.19273.5</SystemComponentModelAnnotationsPackageVersion>
+    <MicrosoftCSharpPackageVersion>4.6.0-preview6.19279.8</MicrosoftCSharpPackageVersion>
+    <MicrosoftWin32RegistryPackageVersion>4.6.0-preview6.19279.8</MicrosoftWin32RegistryPackageVersion>
+    <SystemComponentModelAnnotationsPackageVersion>4.6.0-preview6.19279.8</SystemComponentModelAnnotationsPackageVersion>
     <SystemDataSqlClientPackageVersion>4.7.0-preview6.19264.9</SystemDataSqlClientPackageVersion>
-    <SystemDiagnosticsEventLogPackageVersion>4.6.0-preview6.19273.5</SystemDiagnosticsEventLogPackageVersion>
-    <SystemIOPipelinesPackageVersion>4.6.0-preview6.19273.5</SystemIOPipelinesPackageVersion>
-    <SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview6.19273.5</SystemNetHttpWinHttpHandlerPackageVersion>
-    <SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview6.19273.5</SystemNetWebSocketsWebSocketProtocolPackageVersion>
-    <SystemReflectionMetadataPackageVersion>1.7.0-preview6.19273.5</SystemReflectionMetadataPackageVersion>
-    <SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview6.19273.5</SystemRuntimeCompilerServicesUnsafePackageVersion>
-    <SystemSecurityCryptographyCngPackageVersion>4.6.0-preview6.19273.5</SystemSecurityCryptographyCngPackageVersion>
-    <SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview6.19273.5</SystemSecurityCryptographyPkcsPackageVersion>
-    <SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview6.19273.5</SystemSecurityCryptographyXmlPackageVersion>
-    <SystemSecurityPermissionsPackageVersion>4.6.0-preview6.19273.5</SystemSecurityPermissionsPackageVersion>
-    <SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview6.19273.5</SystemSecurityPrincipalWindowsPackageVersion>
-    <SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview6.19273.5</SystemServiceProcessServiceControllerPackageVersion>
-    <SystemTextEncodingsWebPackageVersion>4.6.0-preview6.19273.5</SystemTextEncodingsWebPackageVersion>
-    <SystemTextJsonPackageVersion>4.6.0-preview6.19273.5</SystemTextJsonPackageVersion>
-    <SystemThreadingChannelsPackageVersion>4.6.0-preview6.19273.5</SystemThreadingChannelsPackageVersion>
+    <SystemDiagnosticsEventLogPackageVersion>4.6.0-preview6.19279.8</SystemDiagnosticsEventLogPackageVersion>
+    <SystemIOPipelinesPackageVersion>4.6.0-preview6.19279.8</SystemIOPipelinesPackageVersion>
+    <SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview6.19279.8</SystemNetHttpWinHttpHandlerPackageVersion>
+    <SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview6.19279.8</SystemNetWebSocketsWebSocketProtocolPackageVersion>
+    <SystemReflectionMetadataPackageVersion>1.7.0-preview6.19279.8</SystemReflectionMetadataPackageVersion>
+    <SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview6.19279.8</SystemRuntimeCompilerServicesUnsafePackageVersion>
+    <SystemSecurityCryptographyCngPackageVersion>4.6.0-preview6.19279.8</SystemSecurityCryptographyCngPackageVersion>
+    <SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview6.19279.8</SystemSecurityCryptographyPkcsPackageVersion>
+    <SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview6.19279.8</SystemSecurityCryptographyXmlPackageVersion>
+    <SystemSecurityPermissionsPackageVersion>4.6.0-preview6.19279.8</SystemSecurityPermissionsPackageVersion>
+    <SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview6.19279.8</SystemSecurityPrincipalWindowsPackageVersion>
+    <SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview6.19279.8</SystemServiceProcessServiceControllerPackageVersion>
+    <SystemTextEncodingsWebPackageVersion>4.6.0-preview6.19279.8</SystemTextEncodingsWebPackageVersion>
+    <SystemTextJsonPackageVersion>4.6.0-preview6.19279.8</SystemTextJsonPackageVersion>
+    <SystemThreadingChannelsPackageVersion>4.6.0-preview6.19279.8</SystemThreadingChannelsPackageVersion>
     <!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
-    <MicrosoftNETCorePlatformsPackageVersion>3.0.0-preview6.19273.5</MicrosoftNETCorePlatformsPackageVersion>
+    <MicrosoftNETCorePlatformsPackageVersion>3.0.0-preview6.19279.8</MicrosoftNETCorePlatformsPackageVersion>
     <!-- Packages from aspnet/Blazor -->
     <MicrosoftAspNetCoreBlazorMonoPackageVersion>0.10.0-preview6.19273.9</MicrosoftAspNetCoreBlazorMonoPackageVersion>
     <!-- Packages from aspnet/Extensions -->
-    <InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview6.19274.1</InternalAspNetCoreAnalyzersPackageVersion>
-    <MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview6.19274.1</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
-    <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
-    <MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview6.19274.1</MicrosoftAspNetCoreTestingPackageVersion>
-    <MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
-    <MicrosoftExtensionsCachingAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCachingAbstractionsPackageVersion>
-    <MicrosoftExtensionsCachingMemoryPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCachingMemoryPackageVersion>
-    <MicrosoftExtensionsCachingSqlServerPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCachingSqlServerPackageVersion>
-    <MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>
-    <MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
-    <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
-    <MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
-    <MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationBinderPackageVersion>
-    <MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
-    <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
-    <MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
-    <MicrosoftExtensionsConfigurationIniPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationIniPackageVersion>
-    <MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationJsonPackageVersion>
-    <MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
-    <MicrosoftExtensionsConfigurationPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationPackageVersion>
-    <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
-    <MicrosoftExtensionsConfigurationXmlPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationXmlPackageVersion>
-    <MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
-    <MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDependencyInjectionPackageVersion>
-    <MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
-    <MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>
-    <MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>
-    <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
-    <MicrosoftExtensionsFileProvidersCompositePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileProvidersCompositePackageVersion>
-    <MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
-    <MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
-    <MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
-    <MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
-    <MicrosoftExtensionsHostingAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHostingAbstractionsPackageVersion>
-    <MicrosoftExtensionsHostingPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHostingPackageVersion>
-    <MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
-    <MicrosoftExtensionsHttpPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHttpPackageVersion>
-    <MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLocalizationAbstractionsPackageVersion>
-    <MicrosoftExtensionsLocalizationPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLocalizationPackageVersion>
-    <MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
-    <MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
-    <MicrosoftExtensionsLoggingConfigurationPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingConfigurationPackageVersion>
-    <MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingConsolePackageVersion>
-    <MicrosoftExtensionsLoggingDebugPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingDebugPackageVersion>
-    <MicrosoftExtensionsLoggingEventSourcePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingEventSourcePackageVersion>
-    <MicrosoftExtensionsLoggingEventLogPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingEventLogPackageVersion>
-    <MicrosoftExtensionsLoggingPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingPackageVersion>
-    <MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingTestingPackageVersion>
-    <MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
-    <MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsObjectPoolPackageVersion>
-    <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
-    <MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
-    <MicrosoftExtensionsOptionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsOptionsPackageVersion>
-    <MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
-    <MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsPrimitivesPackageVersion>
-    <MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
-    <MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
-    <MicrosoftExtensionsWebEncodersPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsWebEncodersPackageVersion>
-    <MicrosoftInternalExtensionsRefsPackageVersion>3.0.0-preview6.19274.1</MicrosoftInternalExtensionsRefsPackageVersion>
-    <MicrosoftJSInteropPackageVersion>3.0.0-preview6.19274.1</MicrosoftJSInteropPackageVersion>
-    <MonoWebAssemblyInteropPackageVersion>3.0.0-preview6.19274.1</MonoWebAssemblyInteropPackageVersion>
+    <InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview6.19280.1</InternalAspNetCoreAnalyzersPackageVersion>
+    <MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview6.19280.1</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
+    <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
+    <MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview6.19280.1</MicrosoftAspNetCoreTestingPackageVersion>
+    <MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
+    <MicrosoftExtensionsCachingAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCachingAbstractionsPackageVersion>
+    <MicrosoftExtensionsCachingMemoryPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCachingMemoryPackageVersion>
+    <MicrosoftExtensionsCachingSqlServerPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCachingSqlServerPackageVersion>
+    <MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>
+    <MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
+    <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
+    <MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
+    <MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationBinderPackageVersion>
+    <MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
+    <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
+    <MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
+    <MicrosoftExtensionsConfigurationIniPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationIniPackageVersion>
+    <MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationJsonPackageVersion>
+    <MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
+    <MicrosoftExtensionsConfigurationPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationPackageVersion>
+    <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
+    <MicrosoftExtensionsConfigurationXmlPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationXmlPackageVersion>
+    <MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
+    <MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDependencyInjectionPackageVersion>
+    <MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
+    <MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>
+    <MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>
+    <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
+    <MicrosoftExtensionsFileProvidersCompositePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileProvidersCompositePackageVersion>
+    <MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
+    <MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
+    <MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
+    <MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
+    <MicrosoftExtensionsHostingAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHostingAbstractionsPackageVersion>
+    <MicrosoftExtensionsHostingPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHostingPackageVersion>
+    <MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
+    <MicrosoftExtensionsHttpPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHttpPackageVersion>
+    <MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLocalizationAbstractionsPackageVersion>
+    <MicrosoftExtensionsLocalizationPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLocalizationPackageVersion>
+    <MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
+    <MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
+    <MicrosoftExtensionsLoggingConfigurationPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingConfigurationPackageVersion>
+    <MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingConsolePackageVersion>
+    <MicrosoftExtensionsLoggingDebugPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingDebugPackageVersion>
+    <MicrosoftExtensionsLoggingEventSourcePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingEventSourcePackageVersion>
+    <MicrosoftExtensionsLoggingEventLogPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingEventLogPackageVersion>
+    <MicrosoftExtensionsLoggingPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingPackageVersion>
+    <MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingTestingPackageVersion>
+    <MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
+    <MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsObjectPoolPackageVersion>
+    <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
+    <MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
+    <MicrosoftExtensionsOptionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsOptionsPackageVersion>
+    <MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
+    <MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsPrimitivesPackageVersion>
+    <MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
+    <MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
+    <MicrosoftExtensionsWebEncodersPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsWebEncodersPackageVersion>
+    <MicrosoftInternalExtensionsRefsPackageVersion>3.0.0-preview6.19280.1</MicrosoftInternalExtensionsRefsPackageVersion>
+    <MicrosoftJSInteropPackageVersion>3.0.0-preview6.19280.1</MicrosoftJSInteropPackageVersion>
+    <MonoWebAssemblyInteropPackageVersion>3.0.0-preview6.19280.1</MonoWebAssemblyInteropPackageVersion>
     <!-- Packages from aspnet/EntityFrameworkCore -->
     <dotnetefPackageVersion>3.0.0-preview6.19252.4</dotnetefPackageVersion>
     <MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
@@ -121,10 +121,10 @@
     <MicrosoftEntityFrameworkCoreToolsPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreToolsPackageVersion>
     <MicrosoftEntityFrameworkCorePackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCorePackageVersion>
     <!-- Packages from aspnet/AspNetCore-Tooling -->
-    <MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.0.0-preview6.19274.4</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
-    <MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview6.19274.4</MicrosoftAspNetCoreRazorLanguagePackageVersion>
-    <MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview6.19274.4</MicrosoftCodeAnalysisRazorPackageVersion>
-    <MicrosoftNETSdkRazorPackageVersion>3.0.0-preview6.19274.4</MicrosoftNETSdkRazorPackageVersion>
+    <MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.0.0-preview6.19280.2</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
+    <MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview6.19280.2</MicrosoftAspNetCoreRazorLanguagePackageVersion>
+    <MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview6.19280.2</MicrosoftCodeAnalysisRazorPackageVersion>
+    <MicrosoftNETSdkRazorPackageVersion>3.0.0-preview6.19280.2</MicrosoftNETSdkRazorPackageVersion>
   </PropertyGroup>
   <!--
 

+ 35 - 12
src/Components/Blazor/Blazor/src/Http/WebAssemblyHttpMessageHandler.cs

@@ -6,10 +6,11 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Net;
 using System.Net.Http;
+using System.Text.Json.Serialization;
 using System.Threading;
 using System.Threading.Tasks;
 using Microsoft.AspNetCore.Blazor.Services;
-using Microsoft.JSInterop;
+using Microsoft.AspNetCore.Components;
 
 namespace Microsoft.AspNetCore.Blazor.Http
 {
@@ -59,7 +60,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
             options.RequestInit = new RequestInit
             {
                 Credentials = GetDefaultCredentialsString(),
-                Headers = GetHeadersAsStringArray(request),
+                Headers = GetHeaders(request),
                 Method = request.Method.Method
             };
 
@@ -68,7 +69,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
                 "Blazor._internal.http.sendAsync",
                 id,
                 request.Content == null ? null : await request.Content.ReadAsByteArrayAsync(),
-                Json.Serialize(options));
+                JsonSerializer.ToString(options, JsonSerializerOptionsProvider.Options));
 
             return await tcs.Task;
         }
@@ -99,7 +100,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
             }
             else
             {
-                var responseDescriptor = Json.Deserialize<ResponseDescriptor>(responseDescriptorJson);
+                var responseDescriptor = JsonSerializer.Parse<ResponseDescriptor>(responseDescriptorJson, JsonSerializerOptionsProvider.Options);
                 var responseContent = responseBodyData == null ? null : new ByteArrayContent(responseBodyData);
                 var responseMessage = responseDescriptor.ToResponseMessage(responseContent);
                 tcs.SetResult(responseMessage);
@@ -114,10 +115,25 @@ namespace Microsoft.AspNetCore.Blazor.Http
         private static byte[] AllocateArray(string length) => new byte[int.Parse(length)];
 #pragma warning restore IDE0051 // Remove unused private members
 
-        private string[][] GetHeadersAsStringArray(HttpRequestMessage request)
-            => (from header in request.Headers.Concat(request.Content?.Headers ?? Enumerable.Empty<KeyValuePair<string, IEnumerable<string>>>())
-                from headerValue in header.Value // There can be more than one value for each name
-                select new[] { header.Key, headerValue }).ToArray();
+        private static IReadOnlyList<Header> GetHeaders(HttpRequestMessage request)
+        {
+            var requestHeaders = request.Headers.AsEnumerable();
+            if (request.Content?.Headers != null)
+            {
+                requestHeaders = requestHeaders.Concat(request.Content.Headers);
+            }
+
+            var headers = new List<Header>();
+            foreach (var item in requestHeaders)
+            {
+                foreach (var headerValue in item.Value)
+                {
+                    headers.Add(new Header { Name = item.Key, Value = headerValue });
+                }
+            }
+
+            return headers;
+        }
 
         private static string GetDefaultCredentialsString()
         {
@@ -147,7 +163,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
         private class RequestInit
         {
             public string Credentials { get; set; }
-            public string[][] Headers { get; set; }
+            public IReadOnlyList<Header> Headers { get; set; }
             public string Method { get; set; }
         }
 
@@ -156,7 +172,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
 #pragma warning disable 0649
             public int StatusCode { get; set; }
             public string StatusText { get; set; }
-            public string[][] Headers { get; set; }
+            public IReadOnlyList<Header> Headers { get; set; }
 #pragma warning restore 0649
 
             public HttpResponseMessage ToResponseMessage(HttpContent content)
@@ -168,14 +184,21 @@ namespace Microsoft.AspNetCore.Blazor.Http
                 var contentHeaders = result.Content?.Headers;
                 foreach (var pair in Headers)
                 {
-                    if (!headers.TryAddWithoutValidation(pair[0], pair[1]))
+                    if (!headers.TryAddWithoutValidation(pair.Name, pair.Value))
                     {
-                        contentHeaders?.TryAddWithoutValidation(pair[0], pair[1]);
+                        contentHeaders?.TryAddWithoutValidation(pair.Name, pair.Value);
                     }
                 }
 
                 return result;
             }
         }
+
+        private class Header
+        {
+            public string Name { get; set; }
+
+            public string Value { get; set; }
+        }
     }
 }

+ 1 - 1
src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj

@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>

+ 4 - 3
src/Components/Blazor/Build/src/Core/BootJsonWriter.cs

@@ -1,12 +1,13 @@
 // Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
-using Microsoft.JSInterop;
-using Mono.Cecil;
 using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
+using System.Text.Json.Serialization;
+using Microsoft.AspNetCore.Components;
+using Mono.Cecil;
 
 namespace Microsoft.AspNetCore.Blazor.Build
 {
@@ -40,7 +41,7 @@ namespace Microsoft.AspNetCore.Blazor.Build
                 assemblyReferences,
                 embeddedContent,
                 linkerEnabled);
-            return Json.Serialize(data);
+            return JsonSerializer.ToString(data, JsonSerializerOptionsProvider.Options);
         }
 
         private static string GetAssemblyEntryPoint(string assemblyPath)

+ 5 - 1
src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj

@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <TargetFramework>netcoreapp3.0</TargetFramework>
@@ -47,4 +47,8 @@
     <Reference Include="Mono.Cecil" />
     <Reference Include="System.CodeDom" />
   </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="..\..\..\Components\src\JsonSerializerOptionsProvider.cs" />
+  </ItemGroup>
 </Project>

+ 20 - 20
src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs

@@ -39,7 +39,7 @@ namespace Test
 }"));
 
             var component = CompileToComponent(@"
-<MyComponent bind-Value=""ParentValue"" />
+<MyComponent @bind-Value=""ParentValue"" />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -76,7 +76,7 @@ namespace Test
 }"));
 
             var component = CompileToComponent(@"
-<MyComponent bind-Value=""ParentValue"" />
+<MyComponent @bind-Value=""ParentValue"" />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -113,7 +113,7 @@ namespace Test
 }"));
 
             var component = CompileToComponent(@"
-<MyComponent bind-Value=""ParentValue"" bind-Value:event=""OnChanged"" />
+<MyComponent @bind-Value=""ParentValue"" @bind-Value:event=""OnChanged"" />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -150,7 +150,7 @@ namespace Test
 }"));
 
             var component = CompileToComponent(@"
-<MyComponent bind-Value=""ParentValue"" bind-Value:event=""OnChanged"" />
+<MyComponent @bind-Value=""ParentValue"" @bind-Value:event=""OnChanged"" />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -183,7 +183,7 @@ namespace Test
 }"));
 
             var component = CompileToComponent(@"
-<div bind=""@ParentValue"" />
+<div @bind=""@ParentValue"" />
 @code {
     public string ParentValue { get; set; } = ""hi"";
 }");
@@ -216,7 +216,7 @@ namespace Test
 }"));
 
             var component = CompileToComponent(@"
-<div bind-value=""@ParentValue"" />
+<div @bind-value=""@ParentValue"" />
 @code {
     public string ParentValue { get; set; } = ""hi"";
 }");
@@ -251,7 +251,7 @@ namespace Test
 
             // Act
             var result = CompileToCSharp(@"
-<div bind-value=""@ParentValue"" />
+<div @bind-value=""@ParentValue"" />
 @code {
     public string ParentValue { get; set; } = ""hi"";
 }");
@@ -260,7 +260,7 @@ namespace Test
             var diagnostic = Assert.Single(result.Diagnostics);
             Assert.Equal("RZ9989", diagnostic.Id);
             Assert.Equal(
-                "The attribute 'bind-value' was matched by multiple bind attributes. Duplicates:" + Environment.NewLine +
+                "The attribute '@bind-value' was matched by multiple bind attributes. Duplicates:" + Environment.NewLine +
                 "Test.BindAttributes" + Environment.NewLine +
                 "Test.BindAttributes",
                 diagnostic.GetMessage());
@@ -271,7 +271,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input bind=""@ParentValue"" />
+<input @bind=""@ParentValue"" />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -292,7 +292,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input type=""text"" bind=""@CurrentDate"" bind:format=""MM/dd/yyyy""/>
+<input type=""text"" @bind=""@CurrentDate"" @bind:format=""MM/dd/yyyy""/>
 @code {
     public DateTime CurrentDate { get; set; } = new DateTime(2018, 1, 1);
 }");
@@ -314,7 +314,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input type=""text"" bind=""@CurrentDate"" bind:format=""@Format""/>
+<input type=""text"" @bind=""@CurrentDate"" @bind:format=""@Format""/>
 @code {
     public DateTime CurrentDate { get; set; } = new DateTime(2018, 1, 1);
 
@@ -338,7 +338,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input type=""text"" bind=""@ParentValue"" />
+<input type=""text"" @bind=""@ParentValue"" />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -360,7 +360,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input type=""checkbox"" bind=""@Enabled"" />
+<input type=""checkbox"" @bind=""@Enabled"" />
 @code {
     public bool Enabled { get; set; }
 }");
@@ -381,7 +381,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input type=""text"" bind-value=""@ParentValue"" bind-value:event=""onchange"" />
+<input type=""text"" @bind-value=""@ParentValue"" @bind-value:event=""onchange"" />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -403,7 +403,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input type=""text"" bind-value=""@CurrentDate"" bind-value:event=""onchange"" bind-value:format=""MM/dd"" />
+<input type=""text"" @bind-value=""@CurrentDate"" @bind-value:event=""onchange"" @bind-value:format=""MM/dd"" />
 @code {
     public DateTime CurrentDate { get; set; } = new DateTime(2018, 1, 1);
 }");
@@ -425,7 +425,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input type=""@(""text"")"" bind-value=""@ParentValue"" bind-value:event=""onchange"" visible />
+<input type=""@(""text"")"" @bind-value=""@ParentValue"" @bind-value:event=""onchange"" visible />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -448,7 +448,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<input bind-value=""@ParentValue"" bind-value:event=""onchange"" type=""text"" visible />
+<input @bind-value=""@ParentValue"" @bind-value:event=""onchange"" type=""text"" visible />
 @code {
     public int ParentValue { get; set; } = 42;
 }");
@@ -474,7 +474,7 @@ namespace Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<div bind-value=""@ParentValue"" bind-value:event=""onchange"">
+<div @bind-value=""@ParentValue"" @bind-value:event=""onchange"">
   <span>@(42.ToString())</span>
 </div>
 @code {
@@ -501,7 +501,7 @@ namespace Test
         {
             // Arrange & Act
             var generated = CompileToCSharp(@"
-<input type=""text"" bind-first-second-third=""Text"" />
+<input type=""text"" @bind-first-second-third=""Text"" />
 @code {
     public string Text { get; set; } = ""text"";
 }");
@@ -516,7 +516,7 @@ namespace Test
         {
             // Arrange & Act
             var generated = CompileToCSharp(@"
-<input type=""text"" bind-first-=""Text"" />
+<input type=""text"" @bind-first-=""Text"" />
 @code {
     public string Text { get; set; } = ""text"";
 }");

+ 1 - 1
src/Components/Blazor/Build/test/ComponentRenderingRazorIntegrationTest.cs

@@ -445,7 +445,7 @@ namespace Test
 
             // Act
             var component = CompileToComponent(@"
-<p onmouseover=""@OnComponentHover"" style=""background: @ParentBgColor;"" />
+<p @onmouseover=""@OnComponentHover"" style=""background: @ParentBgColor;"" />
 @code {
     public string ParentBgColor { get; set; } = ""#FFFFFF"";
 

+ 3 - 3
src/Components/Blazor/Build/test/GenericComponentRazorIntegrationTest.cs

@@ -121,7 +121,7 @@ namespace Test
             AdditionalSyntaxTrees.Add(GenericContextComponent);
 
             var component = CompileToComponent(@"
-<GenericContext TItem=int Items=""@(new List<int>() { 1, 2, })"" ref=""_my"" />
+<GenericContext TItem=int Items=""@(new List<int>() { 1, 2, })"" @ref=""_my"" />
 
 @code {
     GenericContext<int> _my;
@@ -188,7 +188,7 @@ namespace Test
             AdditionalSyntaxTrees.Add(GenericContextComponent);
 
             var component = CompileToComponent(@"
-<GenericContext Items=""@(new List<int>() { 1, 2, })"" ref=""_my"" />
+<GenericContext Items=""@(new List<int>() { 1, 2, })"" @ref=""_my"" />
 
 @code {
     GenericContext<int> _my;
@@ -221,7 +221,7 @@ namespace Test
 
             var assembly = CompileToAssembly("Test.cshtml", @"
 @typeparam TItem
-<GenericContext Items=""@MyItems"" ref=""_my"" />
+<GenericContext Items=""@MyItems"" @ref=""_my"" />
 
 @code {
     [Parameter] List<TItem> MyItems { get; set; }

+ 9 - 9
src/Components/Blazor/Build/test/RenderingRazorIntegrationTest.cs

@@ -340,7 +340,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
             // Arrange/Act
             var component = CompileToComponent(
-                @"<input bind=""MyValue"" />
+                @"<input @bind=""MyValue"" />
                 @code {
                     public string MyValue { get; set; } = ""Initial value"";
                 }");
@@ -375,7 +375,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
             // Arrange/Act
             var component = CompileToComponent(
-                @"<textarea bind=""MyValue"" ></textarea>
+                @"<textarea @bind=""MyValue"" ></textarea>
                 @code {
                     public string MyValue { get; set; } = ""Initial value"";
                 }");
@@ -410,7 +410,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
             // Arrange/Act
             var component = CompileToComponent(
-                @"<input bind=""MyDate"" />
+                @"<input @bind=""MyDate"" />
                 @code {
                     public DateTime MyDate { get; set; } = new DateTime(2018, 3, 4, 1, 2, 3);
                 }");
@@ -448,7 +448,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
             // Arrange/Act
             var testDateFormat = "ddd yyyy-MM-dd";
             var component = CompileToComponent(
-                $@"<input bind=""@MyDate"" bind:format=""{testDateFormat}"" />
+                $@"<input @bind=""@MyDate"" @bind:format=""{testDateFormat}"" />
                 @code {{
                     public DateTime MyDate {{ get; set; }} = new DateTime(2018, 3, 4);
                 }}");
@@ -483,7 +483,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<button onclick=""function(){console.log('hello');};"" />");
+<button @onclick=""function(){console.log('hello');};"" />");
 
             // Act
             var frames = GetRenderTree(component);
@@ -499,7 +499,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<button onclick=""@(x => Clicked = true)"" />
+<button @onclick=""@(x => Clicked = true)"" />
 @code {
     public bool Clicked { get; set; }
 }");
@@ -531,7 +531,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
             // Arrange
             var component = CompileToComponent(@"
-<button onclick=""@OnClick"" />
+<button @onclick=""@OnClick"" />
 @code {
     public void OnClick(UIMouseEventArgs e) { Clicked = true; }
     public bool Clicked { get; set; }
@@ -568,7 +568,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
             // Arrange/Act
             var component = CompileToComponent(
-                @"<input bind=""MyValue"" />
+                @"<input @bind=""MyValue"" />
                 @code {
                     public bool MyValue { get; set; } = true;
                 }");
@@ -604,7 +604,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
             // Arrange/Act
             var myEnumType = FullTypeName<MyEnum>();
             var component = CompileToComponent(
-                $@"<input bind=""MyValue"" />
+                $@"<input @bind=""MyValue"" />
                 @code {{
                     public {myEnumType} MyValue {{ get; set; }} = {myEnumType}.{nameof(MyEnum.FirstValue)};
                 }}");

+ 40 - 12
src/Components/Blazor/Build/test/RuntimeDependenciesResolverTest.cs

@@ -5,21 +5,14 @@ using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
+using System.Text;
 using Microsoft.AspNetCore.Testing.xunit;
 using Xunit;
-using Xunit.Abstractions;
 
 namespace Microsoft.AspNetCore.Blazor.Build.Test
 {
     public class RuntimeDependenciesResolverTest
     {
-        private readonly ITestOutputHelper _output;
-
-        public RuntimeDependenciesResolverTest(ITestOutputHelper output)
-        {
-            _output = output;
-        }
-
         [ConditionalFact]
         [SkipOnHelix("https://github.com/aspnet/AspNetCore/issues/10426")]
         public void FindsReferenceAssemblyGraph_ForStandaloneApp()
@@ -128,14 +121,49 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
 
             var expected = new HashSet<string>(expectedContents);
             var actual = new HashSet<string>(contents);
-            _output.WriteLine("Expected contents to have:");
-            _output.WriteLine(string.Join(",", expected.Except(actual)));
 
-            _output.WriteLine("Unexpected contents:");
-            _output.WriteLine(string.Join(",", actual.Except(expected)));
+            var contentNotFound = expected.Except(actual);
+            var additionalContentFound = actual.Except(expected);
 
             // Assert
+            if (contentNotFound.Any() || additionalContentFound.Any())
+            {
+                throw new ContentMisMatchException
+                {
+                    ContentNotFound = contentNotFound,
+                    AdditionalContentFound = additionalContentFound,
+                };
+            }
+
             Assert.Equal(expectedContents, contents);
         }
+
+        private class ContentMisMatchException : Xunit.Sdk.XunitException
+        {
+            public IEnumerable<string> ContentNotFound { get; set; }
+
+            public IEnumerable<string> AdditionalContentFound { get; set; }
+
+            public override string Message
+            {
+                get
+                {
+                    var error = new StringBuilder();
+                    if (ContentNotFound.Any())
+                    {
+                        error.Append($"Expected content not found: ")
+                            .AppendJoin(", ", ContentNotFound);
+                    }
+
+                    if (AdditionalContentFound.Any())
+                    {
+                        error.Append("Unexpected content found: ")
+                            .AppendJoin(", ", AdditionalContentFound);
+                    }
+
+                    return error.ToString();
+                }
+            }
+        }
     }
 }

+ 1 - 1
src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Counter.razor

@@ -4,7 +4,7 @@
 
 <p>Current count: @currentCount</p>
 
-<button class="btn btn-primary" onclick="@IncrementCount">Click me</button>
+<button class="btn btn-primary" @onclick="@IncrementCount">Click me</button>
 
 @code {
     int currentCount = 0;

+ 2 - 2
src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/NavMenu.razor

@@ -1,11 +1,11 @@
 <div class="top-row pl-4 navbar navbar-dark">
     <a class="navbar-brand" href="">BlazorHosted-CSharp</a>
-    <button class="navbar-toggler" onclick="@ToggleNavMenu">
+    <button class="navbar-toggler" @onclick="@ToggleNavMenu">
         <span class="navbar-toggler-icon"></span>
     </button>
 </div>
 
-<div class="@NavMenuCssClass" onclick="@ToggleNavMenu">
+<div class="@NavMenuCssClass" @onclick="@ToggleNavMenu">
     <ul class="nav flex-column">
         <li class="nav-item px-3">
             <NavLink class="nav-link" href="" Match="NavLinkMatch.All">

+ 1 - 1
src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/Counter.razor

@@ -4,7 +4,7 @@
 
 <p>Current count: @currentCount</p>
 
-<button class="btn btn-primary" onclick="@IncrementCount">Click me</button>
+<button class="btn btn-primary" @onclick="@IncrementCount">Click me</button>
 
 @code {
     int currentCount = 0;

+ 2 - 2
src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Shared/NavMenu.razor

@@ -1,11 +1,11 @@
 <div class="top-row pl-4 navbar navbar-dark">
     <a class="navbar-brand" href="">BlazorStandalone-CSharp</a>
-    <button class="navbar-toggler" onclick="@ToggleNavMenu">
+    <button class="navbar-toggler" @onclick="@ToggleNavMenu">
         <span class="navbar-toggler-icon"></span>
     </button>
 </div>
 
-<div class="@NavMenuCssClass" onclick="@ToggleNavMenu">
+<div class="@NavMenuCssClass" @onclick="@ToggleNavMenu">
     <ul class="nav flex-column">
         <li class="nav-item px-3">
             <NavLink class="nav-link" href="" Match="NavLinkMatch.All">

+ 11 - 10
src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Json.razor

@@ -1,12 +1,13 @@
 @page "/json"
+@using System.Text.Json.Serialization
 @inject IJSRuntime JSRuntime
 
 <h2>JSON performance</h2>
 
-<p><button id="reset-all" onclick=@Reset>Reset</button></p>
+<p><button id="reset-all" @onclick=@Reset>Reset</button></p>
 
-<button id="serialize-small" onclick=@SerializeSmall>Serialize (small)</button>
-<button id="serialize-large" onclick=@SerializeLarge>Serialize (large)</button>
+<button id="serialize-small" @onclick=@SerializeSmall>Serialize (small)</button>
+<button id="serialize-large" @onclick=@SerializeLarge>Serialize (large)</button>
 
 <p><pre style="border: 1px solid black; overflow: scroll;">@serializedValue</pre></p>
 @if (serializedValue != null)
@@ -14,8 +15,8 @@
     <p>Serialized length: <strong id="serialized-length">@serializedValue.Length</strong> chars</p>
 }
 
-<button id="deserialize-small" onclick=@DeserializeSmall>Deserialize (small)</button>
-<button id="deserialize-large" onclick=@DeserializeLarge>Deserialize (large)</button>
+<button id="deserialize-small" @onclick=@DeserializeSmall>Deserialize (small)</button>
+<button id="deserialize-large" @onclick=@DeserializeLarge>Deserialize (large)</button>
 
 @if (numPeopleDeserialized > 0)
 {
@@ -32,8 +33,8 @@
 
     protected override void OnInit()
     {
-        smallOrgChartJson = Microsoft.JSInterop.Json.Serialize(smallOrgChart);
-        largeOrgChartJson = Microsoft.JSInterop.Json.Serialize(largeOrgChart);
+        smallOrgChartJson = JsonSerializer.ToString(smallOrgChart);
+        largeOrgChartJson = JsonSerializer.ToString(largeOrgChart);
     }
 
     protected override void OnAfterRender()
@@ -50,10 +51,10 @@
     }
 
     void SerializeSmall()
-        => serializedValue = Microsoft.JSInterop.Json.Serialize(smallOrgChart);
+        => serializedValue = JsonSerializer.ToString(smallOrgChart);
 
     void SerializeLarge()
-        => serializedValue = Microsoft.JSInterop.Json.Serialize(largeOrgChart);
+        => serializedValue = JsonSerializer.ToString(largeOrgChart);
 
     void DeserializeSmall()
         => numPeopleDeserialized = Deserialize(smallOrgChartJson);
@@ -80,7 +81,7 @@
 
     static int Deserialize(string json)
     {
-        var ceo = Microsoft.JSInterop.Json.Deserialize<Person>(json);
+        var ceo = JsonSerializer.Parse<Person>(json);
         return CountPeople(ceo);
     }
 

+ 3 - 3
src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/RenderList.razor

@@ -3,9 +3,9 @@
 
 <h2>Render List</h2>
 
-Number of items: <input id="num-items" type="number" bind=@numItems />
-<button id="show-list" onclick=@Show>Show</button>
-<button id="hide-list" onclick=@Hide>Hide</button>
+Number of items: <input id="num-items" type="number" @bind=@numItems />
+<button id="show-list" @onclick=@Show>Show</button>
+<button id="hide-list" @onclick=@Hide>Hide</button>
 
 @if (show)
 {

+ 2 - 2
src/Components/Blazor/testassets/StandaloneApp/Pages/Counter.razor

@@ -1,10 +1,10 @@
-@page "/counter"
+@page "/counter"
 
 <h1>Counter</h1>
 
 <p>Current count: @currentCount</p>
 
-<button class="btn btn-primary" onclick="@IncrementCount">Click me</button>
+<button class="btn btn-primary" @onclick="@IncrementCount">Click me</button>
 
 @code {
     int currentCount = 0;

+ 3 - 3
src/Components/Blazor/testassets/StandaloneApp/Shared/NavMenu.razor

@@ -1,11 +1,11 @@
-<div class="top-row pl-4 navbar navbar-dark">
+<div class="top-row pl-4 navbar navbar-dark">
     <a class="navbar-brand" href="">Blazor app</a>
-    <button class="navbar-toggler" onclick=@ToggleNavMenu>
+    <button class="navbar-toggler" @onclick=@ToggleNavMenu>
         <span class="navbar-toggler-icon"></span>
     </button>
 </div>
 
-<div class=@(collapseNavMenu ? "collapse" : null) onclick=@ToggleNavMenu>
+<div class=@(collapseNavMenu ? "collapse" : null) @onclick=@ToggleNavMenu>
     <ul class="nav flex-column">
         <li class="nav-item px-3">
             <NavLink class="nav-link" href="" Match=NavLinkMatch.All>

BIN
src/Components/Browser.JS/.npmrc


+ 14 - 10
src/Components/Browser.JS/dist/Debug/blazor.server.js

@@ -3463,17 +3463,14 @@ var DotNet;
             promise.catch(function (error) { return console.error(error); });
         };
         DotNetObject.prototype.serializeAsArg = function () {
-            return "__dotNetObject:" + this._id;
+            return { __dotNetObject: this._id };
         };
         return DotNetObject;
     }());
-    var dotNetObjectValueFormat = /^__dotNetObject\:(\d+)$/;
+    var dotNetObjectRefKey = '__dotNetObject';
     attachReviver(function reviveDotNetObject(key, value) {
-        if (typeof value === 'string') {
-            var match = value.match(dotNetObjectValueFormat);
-            if (match) {
-                return new DotNetObject(parseInt(match[1]));
-            }
+        if (value && typeof value === 'object' && value.hasOwnProperty(dotNetObjectRefKey)) {
+            return new DotNetObject(value.__dotNetObject);
         }
         // Unrecognized - let another reviver handle it
         return value;
@@ -13645,7 +13642,7 @@ function getCaptureIdAttributeName(referenceCaptureId) {
     return "_bl_" + referenceCaptureId;
 }
 // Support receiving ElementRef instances as args in interop calls
-var elementRefKey = '_blazorElementRef'; // Keep in sync with ElementRef.cs
+var elementRefKey = '__internalId'; // Keep in sync with ElementRef.cs
 DotNet.attachReviver(function (key, value) {
     if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
         return getElementByCaptureId(value[elementRefKey]);
@@ -14773,7 +14770,7 @@ function sendAsync(id, body, jsonFetchArgs) {
             switch (_a.label) {
                 case 0:
                     fetchOptions = JSON.parse(Environment_1.platform.toJavaScriptString(jsonFetchArgs));
-                    requestInit = Object.assign(fetchOptions.requestInit, fetchOptions.requestInitOverrides);
+                    requestInit = Object.assign(convertToRequestInit(fetchOptions.requestInit), fetchOptions.requestInitOverrides);
                     if (body) {
                         requestInit.body = Environment_1.platform.toUint8Array(body);
                     }
@@ -14798,6 +14795,13 @@ function sendAsync(id, body, jsonFetchArgs) {
         });
     });
 }
+function convertToRequestInit(blazorRequestInit) {
+    return {
+        credentials: blazorRequestInit.credentials,
+        method: blazorRequestInit.method,
+        headers: blazorRequestInit.headers.map(function (item) { return [item.name, item.value]; })
+    };
+}
 function dispatchSuccessResponse(id, response, responseData) {
     var responseDescriptor = {
         statusCode: response.status,
@@ -14805,7 +14809,7 @@ function dispatchSuccessResponse(id, response, responseData) {
         headers: [],
     };
     response.headers.forEach(function (value, name) {
-        responseDescriptor.headers.push([name, value]);
+        responseDescriptor.headers.push({ name: name, value: value });
     });
     if (!allocateArrayMethod) {
         allocateArrayMethod = Environment_1.platform.findMethod(httpClientAssembly, httpClientNamespace, httpClientTypeName, 'AllocateArray');

+ 14 - 10
src/Components/Browser.JS/dist/Debug/blazor.webassembly.js

@@ -316,17 +316,14 @@ var DotNet;
             promise.catch(function (error) { return console.error(error); });
         };
         DotNetObject.prototype.serializeAsArg = function () {
-            return "__dotNetObject:" + this._id;
+            return { __dotNetObject: this._id };
         };
         return DotNetObject;
     }());
-    var dotNetObjectValueFormat = /^__dotNetObject\:(\d+)$/;
+    var dotNetObjectRefKey = '__dotNetObject';
     attachReviver(function reviveDotNetObject(key, value) {
-        if (typeof value === 'string') {
-            var match = value.match(dotNetObjectValueFormat);
-            if (match) {
-                return new DotNetObject(parseInt(match[1]));
-            }
+        if (value && typeof value === 'object' && value.hasOwnProperty(dotNetObjectRefKey)) {
+            return new DotNetObject(value.__dotNetObject);
         }
         // Unrecognized - let another reviver handle it
         return value;
@@ -1406,7 +1403,7 @@ function getCaptureIdAttributeName(referenceCaptureId) {
     return "_bl_" + referenceCaptureId;
 }
 // Support receiving ElementRef instances as args in interop calls
-var elementRefKey = '_blazorElementRef'; // Keep in sync with ElementRef.cs
+var elementRefKey = '__internalId'; // Keep in sync with ElementRef.cs
 DotNet.attachReviver(function (key, value) {
     if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
         return getElementByCaptureId(value[elementRefKey]);
@@ -2339,7 +2336,7 @@ function sendAsync(id, body, jsonFetchArgs) {
             switch (_a.label) {
                 case 0:
                     fetchOptions = JSON.parse(Environment_1.platform.toJavaScriptString(jsonFetchArgs));
-                    requestInit = Object.assign(fetchOptions.requestInit, fetchOptions.requestInitOverrides);
+                    requestInit = Object.assign(convertToRequestInit(fetchOptions.requestInit), fetchOptions.requestInitOverrides);
                     if (body) {
                         requestInit.body = Environment_1.platform.toUint8Array(body);
                     }
@@ -2364,6 +2361,13 @@ function sendAsync(id, body, jsonFetchArgs) {
         });
     });
 }
+function convertToRequestInit(blazorRequestInit) {
+    return {
+        credentials: blazorRequestInit.credentials,
+        method: blazorRequestInit.method,
+        headers: blazorRequestInit.headers.map(function (item) { return [item.name, item.value]; })
+    };
+}
 function dispatchSuccessResponse(id, response, responseData) {
     var responseDescriptor = {
         statusCode: response.status,
@@ -2371,7 +2375,7 @@ function dispatchSuccessResponse(id, response, responseData) {
         headers: [],
     };
     response.headers.forEach(function (value, name) {
-        responseDescriptor.headers.push([name, value]);
+        responseDescriptor.headers.push({ name: name, value: value });
     });
     if (!allocateArrayMethod) {
         allocateArrayMethod = Environment_1.platform.findMethod(httpClientAssembly, httpClientNamespace, httpClientTypeName, 'AllocateArray');

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/Components/Browser.JS/dist/Release/blazor.server.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
src/Components/Browser.JS/dist/Release/blazor.webassembly.js


+ 1 - 1
src/Components/Browser.JS/package.json

@@ -13,7 +13,7 @@
   "devDependencies": {
     "@aspnet/signalr": "^1.0.0",
     "@aspnet/signalr-protocol-msgpack": "^1.0.0",
-    "@dotnet/jsinterop": "^0.1.1",
+    "@dotnet/jsinterop": "3.0.0-preview6.19280.1",
     "@types/emscripten": "0.0.31",
     "@types/jest": "^24.0.6",
     "@types/jsdom": "11.0.6",

+ 1 - 1
src/Components/Browser.JS/src/Rendering/ElementReferenceCapture.ts

@@ -12,7 +12,7 @@ function getCaptureIdAttributeName(referenceCaptureId: string) {
 }
 
 // Support receiving ElementRef instances as args in interop calls
-const elementRefKey = '_blazorElementRef'; // Keep in sync with ElementRef.cs
+const elementRefKey = '__internalId'; // Keep in sync with ElementRef.cs
 DotNet.attachReviver((key, value) => {
   if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
     return getElementByCaptureId(value[elementRefKey]);

+ 23 - 4
src/Components/Browser.JS/src/Services/Http.ts

@@ -16,7 +16,7 @@ async function sendAsync(id: number, body: System_Array<any>, jsonFetchArgs: Sys
   let responseData: ArrayBuffer;
 
   const fetchOptions: FetchOptions = JSON.parse(platform.toJavaScriptString(jsonFetchArgs));
-  const requestInit: RequestInit = Object.assign(fetchOptions.requestInit, fetchOptions.requestInitOverrides);
+  const requestInit: RequestInit = Object.assign(convertToRequestInit(fetchOptions.requestInit), fetchOptions.requestInitOverrides);
 
   if (body) {
     requestInit.body = platform.toUint8Array(body);
@@ -33,6 +33,14 @@ async function sendAsync(id: number, body: System_Array<any>, jsonFetchArgs: Sys
   dispatchSuccessResponse(id, response, responseData);
 }
 
+function convertToRequestInit(blazorRequestInit: BlazorRequestInit) {
+  return {
+    credentials: blazorRequestInit.credentials,
+    method: blazorRequestInit.method,
+    headers: blazorRequestInit.headers.map(item => [item.name, item.value])
+  };
+}
+
 function dispatchSuccessResponse(id: number, response: Response, responseData: ArrayBuffer) {
   const responseDescriptor: ResponseDescriptor = {
     statusCode: response.status,
@@ -40,7 +48,7 @@ function dispatchSuccessResponse(id: number, response: Response, responseData: A
     headers: [],
   };
   response.headers.forEach((value, name) => {
-    responseDescriptor.headers.push([name, value]);
+    responseDescriptor.headers.push({ name: name, value: value });
   });
 
   if (!allocateArrayMethod) {
@@ -99,15 +107,26 @@ function dispatchResponse(id: number, responseDescriptor: System_String | null,
 // Keep these in sync with the .NET equivalent in WebAssemblyHttpMessageHandler.cs
 interface FetchOptions {
   requestUri: string;
-  requestInit: RequestInit;
+  requestInit: BlazorRequestInit;
   requestInitOverrides: RequestInit;
 }
 
+interface BlazorRequestInit {
+  credentials: string;
+  headers: Header[];
+  method: string;
+}
+
 interface ResponseDescriptor {
   // We don't have BodyText in here because if we did, then in the JSON-response case (which
   // is the most common case), we'd be double-encoding it, since the entire ResponseDescriptor
   // also gets JSON encoded. It would work but is twice the amount of string processing.
   statusCode: number;
   statusText: string;
-  headers: string[][];
+  headers: Header[];
+}
+
+interface Header {
+  name: string;
+  value: string;
 }

+ 4 - 4
src/Components/Browser.JS/yarn.lock

@@ -147,10 +147,10 @@
     lodash "^4.17.11"
     to-fast-properties "^2.0.0"
 
-"@dotnet/jsinterop@^0.1.1":
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/@dotnet/jsinterop/-/jsinterop-0.1.1.tgz#f54ba865f241596ea3744f28634454a160476399"
-  integrity sha512-/Y5f3rtzZ85y8ukBds6IHRgnu7zwlAxe/JhaqN8mvj/JPDA4AtfdNqjJBZuZJxLrP0k6+q4owx/DS7LyZWccFQ==
+"@dotnet/jsinterop@3.0.0-preview6.19280.1":
+  version "3.0.0-preview6.19280.1"
+  resolved "https://dotnet.myget.org/F/aspnetcore-dev/npm/@dotnet/jsinterop/-/@dotnet/jsinterop-3.0.0-preview6.19280.1.tgz#4c991132f33157de93bc3b6db93cffc9e964b241"
+  integrity sha1-TJkRMvMxV96TvDttuTz/yelkskE=
 
 "@types/[email protected]":
   version "0.0.31"

+ 5 - 1
src/Components/Browser/src/Microsoft.AspNetCore.Components.Browser.csproj

@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
@@ -13,4 +13,8 @@
     <Reference Include="Microsoft.Extensions.DependencyInjection" />
   </ItemGroup>
 
+  <ItemGroup>
+    <Compile Include="..\..\Components\src\JsonSerializerOptionsProvider.cs" />
+  </ItemGroup>
+
 </Project>

+ 41 - 12
src/Components/Browser/src/RendererRegistryEventDispatcher.cs

@@ -2,6 +2,8 @@
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 using System;
+using System.Text.Json;
+using System.Text.Json.Serialization;
 using System.Threading.Tasks;
 using Microsoft.AspNetCore.Components.Rendering;
 using Microsoft.JSInterop;
@@ -30,34 +32,61 @@ namespace Microsoft.AspNetCore.Components.Browser
             switch (eventArgsType)
             {
                 case "change":
-                    return Json.Deserialize<UIChangeEventArgs>(eventArgsJson);
+                    return DeserializeUIEventChangeArgs(eventArgsJson);
                 case "clipboard":
-                    return Json.Deserialize<UIClipboardEventArgs>(eventArgsJson);
+                    return Deserialize<UIClipboardEventArgs>(eventArgsJson);
                 case "drag":
-                    return Json.Deserialize<UIDragEventArgs>(eventArgsJson);
+                    return Deserialize<UIDragEventArgs>(eventArgsJson);
                 case "error":
-                    return Json.Deserialize<UIErrorEventArgs>(eventArgsJson);
+                    return Deserialize<UIErrorEventArgs>(eventArgsJson);
                 case "focus":
-                    return Json.Deserialize<UIFocusEventArgs>(eventArgsJson);
+                    return Deserialize<UIFocusEventArgs>(eventArgsJson);
                 case "keyboard":
-                    return Json.Deserialize<UIKeyboardEventArgs>(eventArgsJson);
+                    return Deserialize<UIKeyboardEventArgs>(eventArgsJson);
                 case "mouse":
-                    return Json.Deserialize<UIMouseEventArgs>(eventArgsJson);
+                    return Deserialize<UIMouseEventArgs>(eventArgsJson);
                 case "pointer":
-                    return Json.Deserialize<UIPointerEventArgs>(eventArgsJson);
+                    return Deserialize<UIPointerEventArgs>(eventArgsJson);
                 case "progress":
-                    return Json.Deserialize<UIProgressEventArgs>(eventArgsJson);
+                    return Deserialize<UIProgressEventArgs>(eventArgsJson);
                 case "touch":
-                    return Json.Deserialize<UITouchEventArgs>(eventArgsJson);
+                    return Deserialize<UITouchEventArgs>(eventArgsJson);
                 case "unknown":
-                    return Json.Deserialize<UIEventArgs>(eventArgsJson);
+                    return Deserialize<UIEventArgs>(eventArgsJson);
                 case "wheel":
-                    return Json.Deserialize<UIWheelEventArgs>(eventArgsJson);
+                    return Deserialize<UIWheelEventArgs>(eventArgsJson);
                 default:
                      throw new ArgumentException($"Unsupported value '{eventArgsType}'.", nameof(eventArgsType));
             }
         }
 
+        private static T Deserialize<T>(string eventArgsJson)
+        {
+            return JsonSerializer.Parse<T>(eventArgsJson, JsonSerializerOptionsProvider.Options);
+        }
+
+        private static UIChangeEventArgs DeserializeUIEventChangeArgs(string eventArgsJson)
+        {
+            var changeArgs = Deserialize<UIChangeEventArgs>(eventArgsJson);
+            var jsonElement = (JsonElement)changeArgs.Value;
+            switch (jsonElement.Type)
+            {
+                case JsonValueType.Null:
+                    changeArgs.Value = null;
+                    break;
+                case JsonValueType.String:
+                    changeArgs.Value = jsonElement.GetString();
+                    break;
+                case JsonValueType.True:
+                case JsonValueType.False:
+                    changeArgs.Value = jsonElement.GetBoolean();
+                    break;
+                default:
+                    throw new ArgumentException($"Unsupported {nameof(UIChangeEventArgs)} value {jsonElement}.");
+            }
+            return changeArgs;
+        }
+
         /// <summary>
         /// For framework use only.
         /// </summary>

+ 3 - 2
src/Components/Components/ref/Microsoft.AspNetCore.Components.netstandard2.0.cs

@@ -105,10 +105,11 @@ namespace Microsoft.AspNetCore.Components
         public string[] Types { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
     }
     [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
-    public readonly partial struct ElementRef : Microsoft.JSInterop.Internal.ICustomArgSerializer
+    public readonly partial struct ElementRef
     {
         private readonly object _dummy;
-        object Microsoft.JSInterop.Internal.ICustomArgSerializer.ToJsonPrimitive() { throw null; }
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+        public string __internalId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
     }
     [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
     public readonly partial struct EventCallback

+ 2 - 2
src/Components/Components/src/BindAttributes.cs

@@ -1,4 +1,4 @@
-// Copyright (c) .NET Foundation. All rights reserved.
+// Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 namespace Microsoft.AspNetCore.Components
@@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Components
     /// <c>BindAttributes</c> and annotate it with the appropriate attributes.
     /// </remarks>
     
-    // Handles cases like <input bind="..." /> - this is a fallback and will be ignored
+    // Handles cases like <input @bind="..." /> - this is a fallback and will be ignored
     // when a specific type attribute is applied.
     [BindInputElement(null, null, "value", "onchange")]
 

+ 14 - 14
src/Components/Components/src/ElementRef.cs

@@ -1,9 +1,8 @@
 // Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
-using Microsoft.JSInterop.Internal;
 using System;
-using System.Collections.Generic;
+using System.ComponentModel;
 using System.Threading;
 
 namespace Microsoft.AspNetCore.Components
@@ -11,29 +10,30 @@ namespace Microsoft.AspNetCore.Components
     /// <summary>
     /// Represents a reference to a rendered element.
     /// </summary>
-    public readonly struct ElementRef : ICustomArgSerializer
+    public readonly struct ElementRef
     {
         static long _nextIdForWebAssemblyOnly = 1;
 
-        // The Id is unique at least within the scope of a given user/circuit
-        internal string Id { get; }
+        /// <summary>
+        /// Gets a unique identifier for <see cref="ElementRef" />.
+        /// </summary>
+        /// <remarks>
+        /// The Id is unique at least within the scope of a given user/circuit.
+        /// This property is public to support Json serialization and should not be used by user code.
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public string __internalId { get; }
+
+        internal string Id => __internalId;
 
         private ElementRef(string id)
         {
-            Id = id;
+            __internalId = id;
         }
 
         internal static ElementRef CreateWithUniqueId()
             => new ElementRef(CreateUniqueId());
 
-        object ICustomArgSerializer.ToJsonPrimitive()
-        {
-            return new Dictionary<string, object>
-            {
-                { "_blazorElementRef", Id }
-            };
-        }
-
         static string CreateUniqueId()
         {
             if (PlatformInfo.IsWebAssembly)

+ 1 - 1
src/Components/Components/src/Forms/InputComponents/InputBase.cs

@@ -35,7 +35,7 @@ namespace Microsoft.AspNetCore.Components.Forms
         /// Gets or sets the value of the input. This should be used with two-way binding.
         /// </summary>
         /// <example>
-        /// bind-Value="@model.PropertyName"
+        /// @bind-Value="@model.PropertyName"
         /// </example>
         [Parameter] public T Value { get; private set; }
 

+ 1 - 1
src/Components/Components/src/Forms/InputComponents/InputCheckbox.cs

@@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Components.Forms
     /* This is exactly equivalent to a .razor file containing:
      *
      *    @inherits InputBase<bool>
-     *    <input type="checkbox" bind="@CurrentValue" id="@Id" class="@CssClass" />
+     *    <input type="checkbox" @bind="@CurrentValue" id="@Id" class="@CssClass" />
      *
      * The only reason it's not implemented as a .razor file is that we don't presently have the ability to compile those
      * files within this project. Developers building their own input components should use Razor syntax.

+ 1 - 1
src/Components/Components/src/Forms/InputComponents/InputText.cs

@@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Components.Forms
     /* This is almost equivalent to a .razor file containing:
      *
      *    @inherits InputBase<string>
-     *    <input bind="@CurrentValue" id="@Id" class="@CssClass" />
+     *    <input @bind="@CurrentValue" id="@Id" class="@CssClass" />
      *
      * The only reason it's not implemented as a .razor file is that we don't presently have the ability to compile those
      * files within this project. Developers building their own input components should use Razor syntax.

+ 1 - 1
src/Components/Components/src/Forms/InputComponents/InputTextArea.cs

@@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Components.Forms
     /* This is almost equivalent to a .razor file containing:
      *
      *    @inherits InputBase<string>
-     *    <textarea bind="@CurrentValue" id="@Id" class="@CssClass"></textarea>
+     *    <textarea @bind="@CurrentValue" id="@Id" class="@CssClass"></textarea>
      *
      * The only reason it's not implemented as a .razor file is that we don't presently have the ability to compile those
      * files within this project. Developers building their own input components should use Razor syntax.

+ 6 - 6
src/Components/Components/src/HttpClientJsonExtensions.cs

@@ -1,9 +1,9 @@
 // Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
-using Microsoft.JSInterop;
 using System.Net.Http;
 using System.Text;
+using System.Text.Json.Serialization;
 using System.Threading.Tasks;
 
 namespace Microsoft.AspNetCore.Components
@@ -23,8 +23,8 @@ namespace Microsoft.AspNetCore.Components
         /// <returns>The response parsed as an object of the generic type.</returns>
         public static async Task<T> GetJsonAsync<T>(this HttpClient httpClient, string requestUri)
         {
-            var responseJson = await httpClient.GetStringAsync(requestUri);
-            return Json.Deserialize<T>(responseJson);
+            var stringContent = await httpClient.GetStringAsync(requestUri);
+            return JsonSerializer.Parse<T>(stringContent, JsonSerializerOptionsProvider.Options);
         }
 
         /// <summary>
@@ -95,7 +95,7 @@ namespace Microsoft.AspNetCore.Components
         /// <returns>The response parsed as an object of the generic type.</returns>
         public static async Task<T> SendJsonAsync<T>(this HttpClient httpClient, HttpMethod method, string requestUri, object content)
         {
-            var requestJson = Json.Serialize(content);
+            var requestJson = JsonSerializer.ToString(content, JsonSerializerOptionsProvider.Options);
             var response = await httpClient.SendAsync(new HttpRequestMessage(method, requestUri)
             {
                 Content = new StringContent(requestJson, Encoding.UTF8, "application/json")
@@ -111,8 +111,8 @@ namespace Microsoft.AspNetCore.Components
             }
             else
             {
-                var responseJson = await response.Content.ReadAsStringAsync();
-                return Json.Deserialize<T>(responseJson);
+                var stringContent = await response.Content.ReadAsStringAsync();
+                return JsonSerializer.Parse<T>(stringContent, JsonSerializerOptionsProvider.Options);
             }
         }
 

+ 15 - 0
src/Components/Components/src/JsonSerializerOptionsProvider.cs

@@ -0,0 +1,15 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Text.Json.Serialization;
+
+namespace Microsoft.AspNetCore.Components
+{
+    internal static class JsonSerializerOptionsProvider
+    {
+        public static readonly JsonSerializerOptions Options = new JsonSerializerOptions
+        {
+            PropertyNamingPolicy = JsonNamingPolicy.CamelCase
+        };
+    }
+}

+ 1 - 1
src/Components/Components/src/Microsoft.AspNetCore.Components.csproj

@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk.Razor">
+<Project Sdk="Microsoft.NET.Sdk.Razor">
 
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>

+ 9 - 4
src/Components/Components/test/HttpClientJsonExtensionsTest.cs

@@ -1,10 +1,10 @@
 // Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
-using Microsoft.JSInterop;
 using System;
 using System.Net;
 using System.Net.Http;
+using System.Text.Json.Serialization;
 using System.Threading;
 using System.Threading.Tasks;
 using Xunit;
@@ -13,6 +13,11 @@ namespace Microsoft.AspNetCore.Components.Test
 {
     public class HttpClientJsonExtensionsTest
     {
+        private readonly JsonSerializerOptions _jsonSerializerOptions = new JsonSerializerOptions
+        {
+            PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
+        };
+
         const string TestUri = "http://example.com/some/uri";
 
         [Fact]
@@ -69,7 +74,7 @@ namespace Microsoft.AspNetCore.Components.Test
             {
                 Assert.Equal(httpMethod, req.Method);
                 Assert.Equal(TestUri, req.RequestUri.AbsoluteUri);
-                Assert.Equal(Json.Serialize(requestContent), await ((StringContent)req.Content).ReadAsStringAsync());
+                Assert.Equal(JsonSerializer.ToString(requestContent, _jsonSerializerOptions), await ((StringContent)req.Content).ReadAsStringAsync());
                 return CreateJsonResponse(HttpStatusCode.OK, new Person
                 {
                     Name = "Abc",
@@ -101,7 +106,7 @@ namespace Microsoft.AspNetCore.Components.Test
             {
                 Assert.Equal(httpMethod, req.Method);
                 Assert.Equal(TestUri, req.RequestUri.AbsoluteUri);
-                Assert.Equal(Json.Serialize(requestContent), await ((StringContent)req.Content).ReadAsStringAsync());
+                Assert.Equal(JsonSerializer.ToString(requestContent, _jsonSerializerOptions), await ((StringContent)req.Content).ReadAsStringAsync());
                 return new HttpResponseMessage(HttpStatusCode.BadGateway);
             }));
 
@@ -115,7 +120,7 @@ namespace Microsoft.AspNetCore.Components.Test
         {
             return new HttpResponseMessage(statusCode)
             {
-                Content = new StringContent(Json.Serialize(content))
+                Content = new StringContent(JsonSerializer.ToString(content, _jsonSerializerOptions))
             };
         }
 

+ 15 - 0
src/Components/test/E2ETest/TestJsonSerializerOptionsProvider.cs

@@ -0,0 +1,15 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Text.Json.Serialization;
+
+namespace Microsoft.AspNetCore.Components.E2ETest
+{
+    internal static class TestJsonSerializerOptionsProvider
+    {
+        public static JsonSerializerOptions Options { get; } = new JsonSerializerOptions
+        {
+            PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
+        };
+    }
+}

+ 3 - 1
src/Components/test/E2ETest/Tests/InteropTest.cs

@@ -1,6 +1,8 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
 using System;
 using System.Collections.Generic;
-using System.Threading.Tasks;
 using BasicTestApp;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;

+ 5 - 4
src/Components/test/E2ETest/Tests/KeyTest.cs

@@ -4,12 +4,12 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Text.Json.Serialization;
 using System.Threading.Tasks;
 using BasicTestApp;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
 using Microsoft.AspNetCore.E2ETesting;
-using Microsoft.JSInterop;
 using OpenQA.Selenium;
 using OpenQA.Selenium.Interactions;
 using Xunit;
@@ -276,8 +276,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
         {
             var rootBefore = new Node(null, "root", before);
             var rootAfter = new Node(null, "root", after);
-            var jsonBefore = Json.Serialize(rootBefore);
-            var jsonAfter = Json.Serialize(rootAfter);
+            var jsonBefore = JsonSerializer.ToString(rootBefore, TestJsonSerializerOptionsProvider.Options);
+            var jsonAfter = JsonSerializer.ToString(rootAfter, TestJsonSerializerOptionsProvider.Options);
 
             var appElem = MountTestComponent<KeyCasesComponent>();
             var textbox = appElem.FindElement(By.TagName("textarea"));
@@ -328,7 +328,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
         private void SetTextAreaValueFast(IWebElement textAreaElementWithId, string value)
         {
             var javascript = (IJavaScriptExecutor)Browser;
-            javascript.ExecuteScript($"document.getElementById('{textAreaElementWithId.GetAttribute("id")}').value = {Json.Serialize(value)}");
+            javascript.ExecuteScript(
+                $"document.getElementById('{textAreaElementWithId.GetAttribute("id")}').value = {JsonSerializer.ToString(value, TestJsonSerializerOptionsProvider.Options)}");
             textAreaElementWithId.SendKeys(" "); // So it fires the change event
         }
 

+ 2 - 3
src/Components/test/E2ETest/Tests/PerformanceTest.cs

@@ -1,13 +1,12 @@
 // Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
+using System;
+using System.Linq;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
 using Microsoft.AspNetCore.E2ETesting;
 using OpenQA.Selenium;
-using System;
-using System.Linq;
-using System.Threading.Tasks;
 using Xunit;
 using Xunit.Abstractions;
 

+ 3 - 3
src/Components/test/testassets/BasicTestApp/AddRemoveChildComponents.razor

@@ -1,7 +1,7 @@
-@using System.Collections.Generic
+@using System.Collections.Generic
 Child components follow.
-<button class="addChild" onclick="@AddChild">Add</button>
-<button class="removeChild" onclick="@RemoveChild">Remove</button>
+<button class="addChild" @onclick="@AddChild">Add</button>
+<button class="removeChild" @onclick="@RemoveChild">Remove</button>
 
 @foreach (var message in currentChildrenMessages)
 {

+ 1 - 1
src/Components/test/testassets/BasicTestApp/AfterRenderInteropComponent.razor

@@ -1,7 +1,7 @@
 @using Microsoft.JSInterop
 @inject IJSRuntime JSRuntime
 
-<input ref="myInput" value="Value set during render" />
+<input @ref="myInput" value="Value set during render" />
 
 @code {
     ElementRef myInput;

+ 3 - 3
src/Components/test/testassets/BasicTestApp/AsyncEventHandlerComponent.razor

@@ -1,9 +1,9 @@
-@using System.Threading.Tasks
+@using System.Threading.Tasks
 
 <div>
     <span id="state">@state</span>
-    <button id="tick" onclick="@Tick">Tick</button>
-    <button id="tock" onclick="@Tock">Tock</button>
+    <button id="tick" @onclick="@Tick">Tick</button>
+    <button id="tock" @onclick="@Tock">Tock</button>
 </div>
 
 @code

+ 7 - 1
src/Components/test/testassets/BasicTestApp/AuthTest/ClientSideAuthenticationStateData.cs

@@ -12,6 +12,12 @@ namespace BasicTestApp.AuthTest
 
         public string UserName { get; set; }
 
-        public List<(string Type, string Value)> ExposedClaims { get; set; }
+        public List<ExposedClaim> ExposedClaims { get; set; }
+    }
+
+    public class ExposedClaim
+    {
+        public string Type { get; set; }
+        public string Value { get; set; }
     }
 }

+ 40 - 40
src/Components/test/testassets/BasicTestApp/BindCasesComponent.razor

@@ -3,128 +3,128 @@
 <h2>Textbox</h2>
 <p>
     Initially blank:
-    <input id="textbox-initially-blank" bind="textboxInitiallyBlankValue" />
+    <input id="textbox-initially-blank" @bind="textboxInitiallyBlankValue" />
     <span id="textbox-initially-blank-value">@textboxInitiallyBlankValue</span>
-    <input id="textbox-initially-blank-mirror" bind="textboxInitiallyBlankValue" readonly />
-    <button id="textbox-initially-blank-setnull" onclick="@(() => { textboxInitiallyBlankValue = null; })">Set null</button>
+    <input id="textbox-initially-blank-mirror" @bind="textboxInitiallyBlankValue" readonly />
+    <button id="textbox-initially-blank-setnull" @onclick="@(() => { textboxInitiallyBlankValue = null; })">Set null</button>
 </p>
 <p>
     Initially populated:
-    <input id="textbox-initially-populated" bind="textboxInitiallyPopulatedValue" />
+    <input id="textbox-initially-populated" @bind="textboxInitiallyPopulatedValue" />
     <span id="textbox-initially-populated-value">@textboxInitiallyPopulatedValue</span>
-    <input id="textbox-initially-populated-mirror" bind="textboxInitiallyPopulatedValue" readonly />
-    <button id="textbox-initially-populated-setnull" onclick="@(() => { textboxInitiallyPopulatedValue = null; })">Set null</button>
+    <input id="textbox-initially-populated-mirror" @bind="textboxInitiallyPopulatedValue" readonly />
+    <button id="textbox-initially-populated-setnull" @onclick="@(() => { textboxInitiallyPopulatedValue = null; })">Set null</button>
 </p>
 
 <h2>Numeric Textboxes</h2>
 <p>
     int:
-    <input id="textbox-int" bind="textboxIntValue" type="number" />
+    <input id="textbox-int" @bind="textboxIntValue" type="number" />
     <span id="textbox-int-value">@textboxIntValue</span>
-    <input id="textbox-int-mirror" bind="textboxIntValue" readonly />
+    <input id="textbox-int-mirror" @bind="textboxIntValue" readonly />
 </p>
 <p>
     Nullable int:
-    <input id="textbox-nullable-int" bind="textboxNullableIntValue" type="number" />
+    <input id="textbox-nullable-int" @bind="textboxNullableIntValue" type="number" />
     <span id="textbox-nullable-int-value">@textboxNullableIntValue</span>
-    <input id="textbox-nullable-int-mirror" bind="textboxNullableIntValue" readonly />
+    <input id="textbox-nullable-int-mirror" @bind="textboxNullableIntValue" readonly />
 </p>
 <p>
     long:
-    <input id="textbox-long" bind="textboxLongValue" type="number" />
+    <input id="textbox-long" @bind="textboxLongValue" type="number" />
     <span id="textbox-long-value">@textboxLongValue</span>
-    <input id="textbox-long-mirror" bind="textboxLongValue" readonly />
+    <input id="textbox-long-mirror" @bind="textboxLongValue" readonly />
 </p>
 <p>
     Nullable long:
-    <input id="textbox-nullable-long" bind="textboxNullableLongValue" type="number" />
+    <input id="textbox-nullable-long" @bind="textboxNullableLongValue" type="number" />
     <span id="textbox-nullable-long-value">@textboxNullableLongValue</span>
-    <input id="textbox-nullable-long-mirror" bind="textboxNullableLongValue" readonly />
+    <input id="textbox-nullable-long-mirror" @bind="textboxNullableLongValue" readonly />
 </p>
 <p>
     float:
-    <input id="textbox-float" bind="textboxFloatValue" type="number" />
+    <input id="textbox-float" @bind="textboxFloatValue" type="number" />
     <span id="textbox-float-value">@textboxFloatValue</span>
-    <input id="textbox-float-mirror" bind="textboxFloatValue" readonly />
+    <input id="textbox-float-mirror" @bind="textboxFloatValue" readonly />
 </p>
 <p>
     Nullable float:
-    <input id="textbox-nullable-float" bind="textboxNullableFloatValue" type="number" />
+    <input id="textbox-nullable-float" @bind="textboxNullableFloatValue" type="number" />
     <span id="textbox-nullable-float-value">@textboxNullableFloatValue</span>
-    <input id="textbox-nullable-float-mirror" bind="textboxNullableFloatValue" readonly />
+    <input id="textbox-nullable-float-mirror" @bind="textboxNullableFloatValue" readonly />
 </p>
 <p>
     double:
-    <input id="textbox-double" bind="textboxDoubleValue" type="number" />
+    <input id="textbox-double" @bind="textboxDoubleValue" type="number" />
     <span id="textbox-double-value">@textboxDoubleValue</span>
-    <input id="textbox-double-mirror" bind="textboxDoubleValue" readonly />
+    <input id="textbox-double-mirror" @bind="textboxDoubleValue" readonly />
 </p>
 <p>
     Nullable double:
-    <input id="textbox-nullable-double" bind="textboxNullableDoubleValue" type="number" />
+    <input id="textbox-nullable-double" @bind="textboxNullableDoubleValue" type="number" />
     <span id="textbox-nullable-double-value">@textboxNullableDoubleValue</span>
-    <input id="textbox-nullable-double-mirror" bind="textboxNullableDoubleValue" readonly />
+    <input id="textbox-nullable-double-mirror" @bind="textboxNullableDoubleValue" readonly />
 </p>
 <p>
     decimal:
-    <input id="textbox-decimal" bind="textboxDecimalValue" type="number" />
+    <input id="textbox-decimal" @bind="textboxDecimalValue" type="number" />
     <span id="textbox-decimal-value">@textboxDecimalValue</span>
-    <input id="textbox-decimal-mirror" bind="textboxDecimalValue" readonly />
+    <input id="textbox-decimal-mirror" @bind="textboxDecimalValue" readonly />
 </p>
 <p>
     Nullable decimal:
-    <input id="textbox-nullable-decimal" bind="textboxNullableDecimalValue" type="number" />
+    <input id="textbox-nullable-decimal" @bind="textboxNullableDecimalValue" type="number" />
     <span id="textbox-nullable-decimal-value">@textboxNullableDecimalValue</span>
-    <input id="textbox-nullable-decimal-mirror" bind="textboxNullableDecimalValue" readonly />
+    <input id="textbox-nullable-decimal-mirror" @bind="textboxNullableDecimalValue" readonly />
 </p>
 <p>
     decimal (invalid-input):
-    <input id="textbox-decimal-invalid" bind="textboxDecimalInvalidValue" />
+    <input id="textbox-decimal-invalid" @bind="textboxDecimalInvalidValue" />
     <span id="textbox-decimal-invalid-value">@textboxDecimalInvalidValue</span>
-    <input id="textbox-decimal-invalid-mirror" bind="textboxDecimalInvalidValue" readonly />
+    <input id="textbox-decimal-invalid-mirror" @bind="textboxDecimalInvalidValue" readonly />
 </p>
 <p>
     Nullable decimal (invalid-input):
-    <input id="textbox-nullable-decimal-invalid" bind="textboxNullableDecimalInvalidValue" />
+    <input id="textbox-nullable-decimal-invalid" @bind="textboxNullableDecimalInvalidValue" />
     <span id="textbox-nullable-decimal-invalid-value">@textboxNullableDecimalInvalidValue</span>
-    <input id="textbox-nullable-decimal-invalid-mirror" bind="textboxNullableDecimalInvalidValue" readonly />
+    <input id="textbox-nullable-decimal-invalid-mirror" @bind="textboxNullableDecimalInvalidValue" readonly />
 </p>
 
 <h2>Text Area</h2>
 <p>
     Initially blank:
-    <textarea id="textarea-initially-blank" bind="textAreaInitiallyBlankValue"></textarea>
+    <textarea id="textarea-initially-blank" @bind="textAreaInitiallyBlankValue"></textarea>
     <span id="textarea-initially-blank-value">@textAreaInitiallyBlankValue</span>
 </p>
 <p>
     Initially populated:
-    <textarea id="textarea-initially-populated" bind="textAreaInitiallyPopulatedValue"></textarea>
+    <textarea id="textarea-initially-populated" @bind="textAreaInitiallyPopulatedValue"></textarea>
     <span id="textarea-initially-populated-value">@textAreaInitiallyPopulatedValue</span>
 </p>
 
 <h2>Checkbox</h2>
 <p>
     Initially null:
-    <input id="checkbox-initially-null" bind="checkboxInitiallyNullValue" type="checkbox" />
+    <input id="checkbox-initially-null" @bind="checkboxInitiallyNullValue" type="checkbox" />
     <span id="checkbox-initially-null-value">@checkboxInitiallyNullValue</span>
-    <button id="checkbox-initially-null-invert" onclick="@(() => { checkboxInitiallyNullValue = !checkboxInitiallyNullValue; })">Invert</button>
+    <button id="checkbox-initially-null-invert" @onclick="@(() => { checkboxInitiallyNullValue = !checkboxInitiallyNullValue; })">Invert</button>
 </p>
 <p>
     Initially unchecked:
-    <input id="checkbox-initially-unchecked" bind="checkboxInitiallyUncheckedValue" type="checkbox" />
+    <input id="checkbox-initially-unchecked" @bind="checkboxInitiallyUncheckedValue" type="checkbox" />
     <span id="checkbox-initially-unchecked-value">@checkboxInitiallyUncheckedValue</span>
-    <button id="checkbox-initially-unchecked-invert" onclick="@(() => { checkboxInitiallyUncheckedValue = !checkboxInitiallyUncheckedValue; })">Invert</button>
+    <button id="checkbox-initially-unchecked-invert" @onclick="@(() => { checkboxInitiallyUncheckedValue = !checkboxInitiallyUncheckedValue; })">Invert</button>
 </p>
 <p>
     Initially checked:
-    <input id="checkbox-initially-checked" bind="checkboxInitiallyCheckedValue" type="checkbox" />
+    <input id="checkbox-initially-checked" @bind="checkboxInitiallyCheckedValue" type="checkbox" />
     <span id="checkbox-initially-checked-value">@checkboxInitiallyCheckedValue</span>
-    <button id="checkbox-initially-checked-invert" onclick="@(() => { checkboxInitiallyCheckedValue = !checkboxInitiallyCheckedValue; })">Invert</button>
+    <button id="checkbox-initially-checked-invert" @onclick="@(() => { checkboxInitiallyCheckedValue = !checkboxInitiallyCheckedValue; })">Invert</button>
 </p>
 
 <h2>Select</h2>
 <p>
-    <select id="select-box" bind="@selectValue">
+    <select id="select-box" @bind="@selectValue">
         <option [email protected]>First choice</option>
         <option [email protected]>Second choice</option>
         <option [email protected]>Third choice</option>
@@ -134,7 +134,7 @@
         }
     </select>
     <span id="select-box-value">@selectValue</span>
-    <button id="select-box-add-option" onclick="@AddAndSelectNewSelectOption">Add and select new item</button>
+    <button id="select-box-add-option" @onclick="@AddAndSelectNewSelectOption">Add and select new item</button>
 </p>
 
 @code {

+ 1 - 1
src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueReceiveFixedByInterface.razor

@@ -13,7 +13,7 @@
     <strong id="receive-by-interface-num-renders">@numRenders</strong>
 
     @* Prevent rerendering this component when the button is clicked. *@
-    <button id="decrement-count" [email protected]>Decrement</button>
+    <button id="decrement-count" @[email protected]>Decrement</button>
 </p>
 
 @code {

+ 3 - 3
src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueSupplier.razor

@@ -16,9 +16,9 @@
     </CascadingValue>
 </CascadingValue>
 
-<p><button id="increment-count" onclick="@((args) => counterState.IncrementCount())">Increment</button></p>
-<p><label><input type="checkbox" id="toggle-flag-1" bind=currentFlagValue1 /> Flag 1</label></p>
-<p><label><input type="checkbox" id="toggle-flag-2" bind=currentFlagValue2 /> Flag 2</label></p>
+<p><button id="increment-count" @onclick="@((args) => counterState.IncrementCount())">Increment</button></p>
+<p><label><input type="checkbox" id="toggle-flag-1" @bind=currentFlagValue1 /> Flag 1</label></p>
+<p><label><input type="checkbox" id="toggle-flag-2" @bind=currentFlagValue2 /> Flag 2</label></p>
 
 @code {
     CounterDTO counterState = new CounterDTO { NumClicks = 100 };

+ 4 - 4
src/Components/test/testassets/BasicTestApp/ComponentRefComponent.razor

@@ -1,4 +1,4 @@
-<h1>Component capture</h1>
+<h1>Component capture</h1>
 
 <p>
     This shows how a component reference may be captured as a field value using 'ref' syntax.
@@ -11,15 +11,15 @@
 @if (_toggleCapturedComponentPresence)
 {
     <div id="child-component">
-        <CounterComponent ref="_myChildCounter" />
+        <CounterComponent @ref="_myChildCounter" />
     </div>
 }
 
 <fieldset>
     <legend>External controls</legend>
-    <button id="reset-child" onclick="@ResetChildCounter">Reset</button>
+    <button id="reset-child" @onclick="@ResetChildCounter">Reset</button>
     <label>
-        <input id="toggle-child" type="checkbox" bind="_toggleCapturedComponentPresence" />
+        <input id="toggle-child" type="checkbox" @bind="_toggleCapturedComponentPresence" />
         Toggle counter presence
     </label>
 </fieldset>

+ 2 - 2
src/Components/test/testassets/BasicTestApp/CounterComponent.razor

@@ -1,9 +1,9 @@
 <h1>Counter</h1>
 <p>Current count: @currentCount</p>
-<p><button onclick="@((handleClicks ? (Action)IncrementCount : null))">Click me</button></p>
+<p><button @onclick="@((handleClicks ? (Action)IncrementCount : null))">Click me</button></p>
 
 <label>
-    <input type="checkbox" bind="@handleClicks" />
+    <input type="checkbox" @bind="@handleClicks" />
     Toggle click handler registration
 </label>
 

+ 2 - 2
src/Components/test/testassets/BasicTestApp/CounterComponentUsingChild.razor

@@ -1,9 +1,9 @@
-<h1>Counter</h1>
+<h1>Counter</h1>
 
 <!-- Note: passing 'Message' parameter with lowercase name to show it's case insensitive -->
 <p>Current count: <MessageComponent [email protected]() /></p>
 
-<button onclick="@IncrementCount">Click me</button>
+<button @onclick="@IncrementCount">Click me</button>
 
 @code {
     int currentCount = 0;

+ 4 - 4
src/Components/test/testassets/BasicTestApp/DispatchingComponent.razor

@@ -10,10 +10,10 @@
     Result: <strong id="result">@result</strong>
 </p>
 
-<button id="run-without-dispatch" onclick=@RunWithoutDispatch>Run without dispatch</button>
-<button id="run-with-dispatch" onclick=@RunWithDispatch>Run with dispatch</button>
-<button id="run-with-double-dispatch" onclick=@RunWithDoubleDispatch>Run with double dispatch</button>
-<button id="run-async-with-dispatch" onclick=@RunAsyncWorkWithDispatch>Run async work with dispatch</button>
+<button id="run-without-dispatch" @onclick=@RunWithoutDispatch>Run without dispatch</button>
+<button id="run-with-dispatch" @onclick=@RunWithDispatch>Run with dispatch</button>
+<button id="run-with-double-dispatch" @onclick=@RunWithDoubleDispatch>Run with double dispatch</button>
+<button id="run-async-with-dispatch" @onclick=@RunAsyncWorkWithDispatch>Run async work with dispatch</button>
 
 @code {
     string result;

+ 3 - 3
src/Components/test/testassets/BasicTestApp/ElementRefComponent.razor

@@ -17,11 +17,11 @@
 
 @if (_toggleCapturedElementPresence)
 {
-    <input id="capturedElement" ref="_myInput" />
+    <input id="capturedElement" @ref="_myInput" />
 }
-<button onclick="@MakeInteropCall">Click me</button>
+<button @onclick="@MakeInteropCall">Click me</button>
 <label>
-    <input type="checkbox" bind="_toggleCapturedElementPresence" />
+    <input type="checkbox" @bind="_toggleCapturedElementPresence" />
     Toggle input
 </label>
 

+ 5 - 5
src/Components/test/testassets/BasicTestApp/EventBubblingComponent.razor

@@ -1,7 +1,7 @@
 <h3 id="event-bubbling">Bubbling standard event</h3>
 
-<div onclick="@(() => LogEvent("parent onclick"))">
-    <button id="button-with-onclick" onclick="@(() => LogEvent("target onclick"))">Button with onclick handler</button>
+<div @onclick="@(() => LogEvent("parent onclick"))">
+    <button id="button-with-onclick" @onclick="@(() => LogEvent("target onclick"))">Button with onclick handler</button>
     <button id="button-without-onclick" >Button without onclick handler</button>
 </div>
 
@@ -15,14 +15,14 @@
 <h3>Non-bubbling standard event</h3>
 
 <!-- The new Action(...) is needed until we add support for onfocus -->
-<div onfocus="@(new Action(() => LogEvent("parent onfocus")))">
-    <p>With onfocus: <input id="input-with-onfocus" onfocus="@(new Action(() => LogEvent("target onfocus")))" /></p>
+<div @onfocus="@(new Action(() => LogEvent("parent onfocus")))">
+    <p>With onfocus: <input id="input-with-onfocus" @onfocus="@(new Action(() => LogEvent("target onfocus")))" /></p>
     <p>Without onfocus: <input id="input-without-onfocus" /></p>
 </div>
 
 <h3>Event log</h3>
 
-<textarea readonly bind="@logValue"></textarea>
+<textarea readonly @bind="@logValue"></textarea>
 
 @code {
     string logValue = string.Empty;

+ 1 - 1
src/Components/test/testassets/BasicTestApp/EventCallbackTest/ButtonComponent.razor

@@ -1,5 +1,5 @@
 
-<button onclick="@OnClick">@Text</button>
+<button @onclick="@OnClick">@Text</button>
 
 @code {
     [Parameter] int Count { get; set; }

+ 2 - 2
src/Components/test/testassets/BasicTestApp/EventCallbackTest/EventCallbackCases.razor

@@ -27,12 +27,12 @@
 <div id="unbound_lambda_child_content">
     <h3>Passing Child Content</h3>
     <TemplatedControl>
-        <button onclick="@(() => { })">Unbound Lambda Child Content</button>
+        <button @onclick="@(() => { })">Unbound Lambda Child Content</button>
     </TemplatedControl>
 </div>
 <div id="unbound_lambda_bind_to_component">
     <h3>Passing Child Content</h3>
-    <ButtonComponent bind-Count="buttonComponentCount" Text="Unbound Lambda Bind-To-Component" />
+    <ButtonComponent @bind-Count="buttonComponentCount" Text="Unbound Lambda Bind-To-Component" />
 </div>
 
 @code {

+ 1 - 1
src/Components/test/testassets/BasicTestApp/EventCallbackTest/InnerButton.razor

@@ -1,5 +1,5 @@
 
-<button onclick="@OnClick">@Text</button>
+<button @onclick="@OnClick">@Text</button>
 
 @code {
     [Parameter] EventCallback OnClick { get; set; }

+ 1 - 1
src/Components/test/testassets/BasicTestApp/EventCallbackTest/StronglyTypedButton.razor

@@ -1,5 +1,5 @@
 
-<button onclick="@OnClick">@Text</button>
+<button @onclick="@OnClick">@Text</button>
 
 @code {
     [Parameter] EventCallback<UIMouseEventArgs> OnClick { get; set; }

+ 3 - 3
src/Components/test/testassets/BasicTestApp/EventPreventDefaultComponent.razor

@@ -13,14 +13,14 @@
 
 <h2>Form with onsubmit handler</h2>
 
-<form action="about:blank" onsubmit=@(() => { })>
-    <button id="form-1-button" onclick=@HandleClick>Click me</button>
+<form action="about:blank" @onsubmit=@(() => { })>
+    <button id="form-1-button" @onclick=@HandleClick>Click me</button>
 </form>
 
 <h2>Form without onsubmit handler</h2>
 
 <form action="about:blank">
-    <button id="form-2-button" onclick=@HandleClick>Click me</button>
+    <button id="form-2-button" @onclick=@HandleClick>Click me</button>
 </form>
 
 @if (didHandleEvent)

+ 1 - 1
src/Components/test/testassets/BasicTestApp/ExternalContentPackage.razor

@@ -13,7 +13,7 @@
 
 <p>Click the following button to invoke a JavaScript function.</p>
 
-<button onclick="@ShowJavaScriptPrompt">Show JavaScript prompt</button>
+<button @onclick="@ShowJavaScriptPrompt">Show JavaScript prompt</button>
 
 @if (!string.IsNullOrEmpty(result))
 {

+ 4 - 4
src/Components/test/testassets/BasicTestApp/FocusEventComponent.razor

@@ -1,15 +1,15 @@
-@using System.Collections.Generic
+@using System.Collections.Generic
 
 <h2>Focus and activation</h2>
 
-<p onfocusin="@OnFocusIn" onfocusout="@OnFocusOut">
-    Input: <input id="input" type="text" onfocus="@OnFocus" onblur="@OnBlur"/>
+<p @onfocusin="@OnFocusIn" @onfocusout="@OnFocusOut">
+    Input: <input id="input" type="text" @onfocus="@OnFocus" @onblur="@OnBlur"/>
 </p>
 <p>
     Output: <span id="output">@message</span>
 </p>
 <p>
-    <button onclick="@Clear">Clear</button>
+    <button @onclick="@Clear">Clear</button>
 </p>
 
 <p>

+ 3 - 3
src/Components/test/testassets/BasicTestApp/FormsTest/NotifyPropertyChangedValidationComponent.razor

@@ -15,14 +15,14 @@
     cascade an EditContext to the components that integrate with it.
 </p>
 
-<form onsubmit="@HandleSubmit">
+<form @onsubmit="@HandleSubmit">
     <p class="user-name">
         User name:
-        <input bind="@person.UserName" class="@editContext.FieldClass(() => person.UserName)" />
+        <input @bind="@person.UserName" class="@editContext.FieldClass(() => person.UserName)" />
     </p>
     <p class="accepts-terms">
         Accept terms:
-        <input type="checkbox" bind="@person.AcceptsTerms" class="@editContext.FieldClass(() => person.AcceptsTerms)" />
+        <input type="checkbox" @bind="@person.AcceptsTerms" class="@editContext.FieldClass(() => person.AcceptsTerms)" />
     </p>
 
     <button type="submit">Submit</button>

+ 2 - 2
src/Components/test/testassets/BasicTestApp/FormsTest/SimpleValidationComponent.razor

@@ -5,10 +5,10 @@
     <DataAnnotationsValidator />
 
     <p class="user-name">
-        User name: <input bind="@UserName" class="@context.FieldClass(() => UserName)" />
+        User name: <input @bind="@UserName" class="@context.FieldClass(() => UserName)" />
     </p>
     <p class="accepts-terms">
-        Accept terms: <input type="checkbox" bind="@AcceptsTerms" class="@context.FieldClass(() => AcceptsTerms)" />
+        Accept terms: <input type="checkbox" @bind="@AcceptsTerms" class="@context.FieldClass(() => AcceptsTerms)" />
     </p>
 
     <button type="submit">Submit</button>

+ 10 - 10
src/Components/test/testassets/BasicTestApp/FormsTest/TypicalValidationComponent.razor

@@ -5,30 +5,30 @@
     <DataAnnotationsValidator />
 
     <p class="name">
-        Name: <InputText bind-Value="@person.Name" />
+        Name: <InputText @bind-Value="@person.Name" />
     </p>
     <p class="email">
-        Email: <InputText bind-Value="@person.Email" />
+        Email: <InputText @bind-Value="@person.Email" />
         <ValidationMessage For="@(() => person.Email)" />
     </p>
     <p class="age">
-        Age (years): <InputNumber bind-Value="@person.AgeInYears" />
+        Age (years): <InputNumber @bind-Value="@person.AgeInYears" />
     </p>
     <p class="height">
-        Height (optional): <InputNumber bind-Value="@person.OptionalHeight" />
+        Height (optional): <InputNumber @bind-Value="@person.OptionalHeight" />
     </p>
     <p class="description">
-        Description: <InputTextArea bind-Value="@person.Description" />
+        Description: <InputTextArea @bind-Value="@person.Description" />
     </p>
     <p class="renewal-date">
-        Renewal date: <InputDate bind-Value="@person.RenewalDate" />
+        Renewal date: <InputDate @bind-Value="@person.RenewalDate" />
     </p>
     <p class="expiry-date">
-        Expiry date (optional): <InputDate bind-Value="@person.OptionalExpiryDate" />
+        Expiry date (optional): <InputDate @bind-Value="@person.OptionalExpiryDate" />
     </p>
     <p class="ticket-class">
         Ticket class:
-        <InputSelect bind-Value="@person.TicketClass">
+        <InputSelect @bind-Value="@person.TicketClass">
             <option>(select)</option>
             <option value="@TicketClass.Economy">Economy class</option>
             <option value="@TicketClass.Premium">Premium class</option>
@@ -37,10 +37,10 @@
         <span id="selected-ticket-class">@person.TicketClass</span>
     </p>
     <p class="accepts-terms">
-        Accepts terms: <InputCheckbox bind-Value="@person.AcceptsTerms" />
+        Accepts terms: <InputCheckbox @bind-Value="@person.AcceptsTerms" />
     </p>
     <p class="is-evil">
-        Is evil: <InputCheckbox bind-Value="@person.IsEvil" />
+        Is evil: <InputCheckbox @bind-Value="@person.IsEvil" />
     </p>
 
     <button type="submit">Submit</button>

+ 3 - 3
src/Components/test/testassets/BasicTestApp/HttpClientTest/BinaryHttpRequestsComponent.razor

@@ -1,4 +1,4 @@
-@using System.Net
+@using System.Net
 @using System.Net.Http
 @inject HttpClient Http
 
@@ -6,10 +6,10 @@
 
 <p>
     <div>URI:</div>
-    <input id="request-uri" bind="@uri" size="60"/>
+    <input id="request-uri" @bind="@uri" size="60"/>
 </p>
 
-<button id="send-request" onclick="@DoRequest">Request</button>
+<button id="send-request" @onclick="@DoRequest">Request</button>
 
 @if (responseStatusCode.HasValue)
 {

+ 4 - 4
src/Components/test/testassets/BasicTestApp/HttpClientTest/CookieCounterComponent.razor

@@ -1,10 +1,10 @@
-@inject System.Net.Http.HttpClient Http
+@inject System.Net.Http.HttpClient Http
 
 <h1>Cookie counter</h1>
 <p>The server increments the count by one on each request.</p>
-<p>TestServer base URL: <input bind="@testServerBaseUrl" /></p>
-<button id="delete" onclick="@DeleteCookie">Delete cookie</button>
-<button id="increment" onclick="@GetAndIncrementCounter">Get and increment current value</button>
+<p>TestServer base URL: <input @bind="@testServerBaseUrl" /></p>
+<button id="delete" @onclick="@DeleteCookie">Delete cookie</button>
+<button id="increment" @onclick="@GetAndIncrementCounter">Get and increment current value</button>
 
 @if (!requestInProgress)
 {

+ 9 - 9
src/Components/test/testassets/BasicTestApp/HttpClientTest/HttpRequestsComponent.razor

@@ -7,12 +7,12 @@
 
 <p>
     <div>URI:</div>
-    <input id="request-uri" bind="@uri" size="60"/>
+    <input id="request-uri" @bind="@uri" size="60"/>
 </p>
 
 <p>
     <div>Method:</div>
-    <select id="request-method" bind="@method">
+    <select id="request-method" @bind="@method">
         <option value="GET">GET</option>
         <option value="POST">POST</option>
         <option value="PUT">PUT</option>
@@ -22,7 +22,7 @@
 
 <p>
     <div>Request body:</div>
-    <textarea id="request-body" bind="@requestBody"></textarea>
+    <textarea id="request-body" @bind="@requestBody"></textarea>
 </p>
 
 <p>
@@ -30,20 +30,20 @@
     @foreach (var header in requestHeaders)
     {
         <div class="header-entry">
-            Name: <input bind="@header.Name" />
-            Value: <input bind="@header.Value" />
-            [<a href="#" onclick="@(e => RemoveHeader(header))">remove</a>]
+            Name: <input @bind="@header.Name" />
+            Value: <input @bind="@header.Value" />
+            [<a href="#" @onclick="@(e => RemoveHeader(header))">remove</a>]
         </div>
     }
-    <button id="add-header" onclick="@AddHeader">Add</button>
+    <button id="add-header" @onclick="@AddHeader">Add</button>
 </p>
 
 <p>
     <div>Request referrer:</div>
-    <input id="request-referrer" type="text" bind=@requestReferrer />
+    <input id="request-referrer" type="text" @bind=@requestReferrer />
 </p>
 
-<button id="send-request" onclick="@DoRequest">Request</button>
+<button id="send-request" @onclick="@DoRequest">Request</button>
 
 @if (responseStatusCode.HasValue)
 {

+ 1 - 1
src/Components/test/testassets/BasicTestApp/Index.razor

@@ -1,7 +1,7 @@
 @using Microsoft.AspNetCore.Components.RenderTree
 <div id="test-selector">
   Select test:
-    <select bind=@SelectedComponentTypeName>
+    <select @bind=@SelectedComponentTypeName>
         <option value="none">Choose...</option>
         <option value="BasicTestApp.InteropComponent">Interop component</option>
         <option value="BasicTestApp.AsyncEventHandlerComponent">Async event handlers</option>

+ 1 - 1
src/Components/test/testassets/BasicTestApp/InputEventComponent.razor

@@ -1,4 +1,4 @@
-<input bind-value=@inputText bind-value:event="oninput" />
+<input @bind-value=@inputText @bind-value:event="oninput" />
 
 <p>The text below should update automatically as you type in the text field above</p>
 

+ 37 - 17
src/Components/test/testassets/BasicTestApp/InteropComponent.razor

@@ -1,9 +1,10 @@
 @using Microsoft.JSInterop
 @using BasicTestApp.InteropTest
 @using System.Runtime.InteropServices
+@using System.Text.Json.Serialization
 @inject IJSRuntime JSRuntime
 
-<button id="btn-interop" onclick="@InvokeInteropAsync">Invoke interop!</button>
+<button id="btn-interop" @onclick="@InvokeInteropAsync">Invoke interop!</button>
 
 <div>
     <h1>Invocations</h1>
@@ -52,7 +53,6 @@
 }
 
 @code {
-
     public IDictionary<string, string> ReturnValues { get; set; } = new Dictionary<string, string>();
     public IDictionary<string, string> Invocations { get; set; } = new Dictionary<string, string>();
 
@@ -75,8 +75,8 @@
         await JSRuntime.InvokeAsync<object>(
             "jsInteropTests.invokeDotNetInteropMethodsAsync",
             shouldSupportSyncInterop,
-            new DotNetObjectRef(testDTOTOPassByRef),
-            new DotNetObjectRef(instanceMethodsTarget));
+            DotNetObjectRef.Create(testDTOTOPassByRef),
+            DotNetObjectRef.Create(instanceMethodsTarget));
 
         if (shouldSupportSyncInterop)
         {
@@ -84,14 +84,14 @@
         }
 
         Console.WriteLine("Showing interop invocation results.");
-        var collectResults = await JSRuntime.InvokeAsync<Dictionary<string,string>>("jsInteropTests.collectInteropResults");
+        var collectResults = await JSRuntime.InvokeAsync<Dictionary<string, string>>("jsInteropTests.collectInteropResults");
 
-        ReturnValues = collectResults.ToDictionary(kvp => kvp.Key,kvp => System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(kvp.Value)));
+        ReturnValues = collectResults.ToDictionary(kvp => kvp.Key, kvp => System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(kvp.Value)));
 
         var invocations = new Dictionary<string, string>();
         foreach (var interopResult in JavaScriptInterop.Invocations)
         {
-            var interopResultValue = Json.Serialize(interopResult.Value);
+            var interopResultValue = JsonSerializer.ToString(interopResult.Value, TestJsonSerializerOptionsProvider.Options);
             invocations[interopResult.Key] = interopResultValue;
         }
 
@@ -114,13 +114,15 @@
         }
 
         var passDotNetObjectByRef = new TestDTO(99999);
-        var passDotNetObjectByRefArg = new Dictionary<string, object>
+        var passDotNetObjectByRefArg = new PassDotNetObjectByRefArgs
         {
-            { "stringValue", "My string" },
-            { "testDto", new DotNetObjectRef(passDotNetObjectByRef) },
+            StringValue = "My string",
+            TestDto = DotNetObjectRef.Create(passDotNetObjectByRef),
         };
-        ReceiveDotNetObjectByRefAsyncResult = await JSRuntime.InvokeAsync<Dictionary<string, object>>("receiveDotNetObjectByRefAsync", passDotNetObjectByRefArg);
-        ReceiveDotNetObjectByRefAsyncResult["testDto"] = ReceiveDotNetObjectByRefAsyncResult["testDto"] == passDotNetObjectByRef ? "Same" : "Different";
+        var result = await JSRuntime.InvokeAsync<ReceiveDotNetObjectByRefArgs>("receiveDotNetObjectByRefAsync", passDotNetObjectByRefArg);
+        ReceiveDotNetObjectByRefAsyncResult["stringValueUpper"] = result.StringValueUpper;
+        ReceiveDotNetObjectByRefAsyncResult["testDtoNonSerializedValue"] = result.TestDtoNonSerializedValue;
+        ReceiveDotNetObjectByRefAsyncResult["testDto"] = result.TestDto.Value == passDotNetObjectByRef ? "Same" : "Different";
 
         ReturnValues["returnPrimitiveAsync"] = (await JSRuntime.InvokeAsync<int>("returnPrimitiveAsync")).ToString();
         ReturnValues["returnArrayAsync"] = string.Join(",", (await JSRuntime.InvokeAsync<Segment[]>("returnArrayAsync")).Select(x => x.Source).ToArray());
@@ -148,12 +150,30 @@
         }
 
         var passDotNetObjectByRef = new TestDTO(99999);
-        var passDotNetObjectByRefArg = new Dictionary<string, object>
+        var passDotNetObjectByRefArg = new PassDotNetObjectByRefArgs
         {
-            { "stringValue", "My string" },
-            { "testDto", new DotNetObjectRef(passDotNetObjectByRef) },
+            StringValue = "My string",
+            TestDto = DotNetObjectRef.Create(passDotNetObjectByRef),
         };
-        ReceiveDotNetObjectByRefResult = inProcRuntime.Invoke<Dictionary<string, object>>("receiveDotNetObjectByRef", passDotNetObjectByRefArg);
-        ReceiveDotNetObjectByRefResult["testDto"] = ReceiveDotNetObjectByRefResult["testDto"] == passDotNetObjectByRef ? "Same" : "Different";
+        var result = inProcRuntime.Invoke<ReceiveDotNetObjectByRefArgs>("receiveDotNetObjectByRef", passDotNetObjectByRefArg);
+        ReceiveDotNetObjectByRefResult["stringValueUpper"] = result.StringValueUpper;
+        ReceiveDotNetObjectByRefResult["testDtoNonSerializedValue"] = result.TestDtoNonSerializedValue;
+        ReceiveDotNetObjectByRefResult["testDto"] = result.TestDto.Value == passDotNetObjectByRef ? "Same" : "Different";
+    }
+
+    public class PassDotNetObjectByRefArgs
+    {
+        public string StringValue { get; set; }
+
+        public DotNetObjectRef<TestDTO> TestDto { get; set; }
+    }
+
+    public class ReceiveDotNetObjectByRefArgs
+    {
+        public string StringValueUpper { get; set; }
+
+        public int TestDtoNonSerializedValue { get; set; }
+
+        public DotNetObjectRef<TestDTO> TestDto { get; set; }
     }
 }

+ 1 - 1
src/Components/test/testassets/BasicTestApp/InteropOnInitializationComponent.razor

@@ -19,7 +19,7 @@
 
 <p>
     Value set via JS interop call:
-    <input id="val-set-by-interop" ref="@myElem" />
+    <input id="val-set-by-interop" @ref="@myElem" />
 </p>
 
 @code {

+ 88 - 69
src/Components/test/testassets/BasicTestApp/InteropTest/JavaScriptInterop.cs

@@ -4,6 +4,7 @@
 using Microsoft.JSInterop;
 using System;
 using System.Collections.Generic;
+using System.Text.Json;
 using System.Threading.Tasks;
 
 namespace BasicTestApp.InteropTest
@@ -50,69 +51,69 @@ namespace BasicTestApp.InteropTest
         public static void VoidWithThreeParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3)
+            DotNetObjectRef<TestDTO> parameter3)
         {
-            Invocations[nameof(VoidWithThreeParameters)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue() };
+            Invocations[nameof(VoidWithThreeParameters)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue() };
         }
 
         [JSInvokable]
         public static void VoidWithFourParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4)
         {
-            Invocations[nameof(VoidWithFourParameters)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4 };
+            Invocations[nameof(VoidWithFourParameters)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4 };
         }
 
         [JSInvokable]
         public static void VoidWithFiveParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5)
         {
-            Invocations[nameof(VoidWithFiveParameters)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5 };
+            Invocations[nameof(VoidWithFiveParameters)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5 };
         }
 
         [JSInvokable]
         public static void VoidWithSixParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6)
         {
-            Invocations[nameof(VoidWithSixParameters)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6 };
+            Invocations[nameof(VoidWithSixParameters)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6 };
         }
 
         [JSInvokable]
         public static void VoidWithSevenParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6,
             List<double> parameter7)
         {
-            Invocations[nameof(VoidWithSevenParameters)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7 };
+            Invocations[nameof(VoidWithSevenParameters)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7 };
         }
 
         [JSInvokable]
         public static void VoidWithEightParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6,
             List<double> parameter7,
             Segment parameter8)
         {
-            Invocations[nameof(VoidWithEightParameters)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7, parameter8 };
+            Invocations[nameof(VoidWithEightParameters)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7, parameter8 };
         }
 
         [JSInvokable]
@@ -139,67 +140,67 @@ namespace BasicTestApp.InteropTest
         public static object[] EchoThreeParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3)
+            DotNetObjectRef<TestDTO> parameter3)
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue() };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue() };
         }
 
         [JSInvokable]
         public static object[] EchoFourParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4)
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4 };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4 };
         }
 
         [JSInvokable]
         public static object[] EchoFiveParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5)
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5 };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5 };
         }
 
         [JSInvokable]
         public static object[] EchoSixParameters(ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6)
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6 };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6 };
         }
 
         [JSInvokable]
         public static object[] EchoSevenParameters(ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6,
             List<double> parameter7)
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7 };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7 };
         }
 
         [JSInvokable]
         public static object[] EchoEightParameters(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6,
             List<double> parameter7,
             Segment parameter8)
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7, parameter8 };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7, parameter8 };
         }
 
         [JSInvokable]
@@ -229,9 +230,9 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithThreeParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3)
+            DotNetObjectRef<TestDTO> parameter3)
         {
-            Invocations[nameof(VoidWithThreeParametersAsync)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue() };
+            Invocations[nameof(VoidWithThreeParametersAsync)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue() };
             return Task.CompletedTask;
         }
 
@@ -239,10 +240,10 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithFourParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4)
         {
-            Invocations[nameof(VoidWithFourParametersAsync)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4 };
+            Invocations[nameof(VoidWithFourParametersAsync)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4 };
             return Task.CompletedTask;
         }
 
@@ -250,11 +251,11 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithFiveParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5)
         {
-            Invocations[nameof(VoidWithFiveParametersAsync)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5 };
+            Invocations[nameof(VoidWithFiveParametersAsync)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5 };
             return Task.CompletedTask;
         }
 
@@ -262,12 +263,12 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithSixParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6)
         {
-            Invocations[nameof(VoidWithSixParametersAsync)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6 };
+            Invocations[nameof(VoidWithSixParametersAsync)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6 };
             return Task.CompletedTask;
         }
 
@@ -275,13 +276,13 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithSevenParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6,
             List<double> parameter7)
         {
-            Invocations[nameof(VoidWithSevenParametersAsync)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7 };
+            Invocations[nameof(VoidWithSevenParametersAsync)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7 };
             return Task.CompletedTask;
         }
 
@@ -289,14 +290,14 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithEightParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6,
             List<double> parameter7,
             Segment parameter8)
         {
-            Invocations[nameof(VoidWithEightParametersAsync)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7, parameter8 };
+            Invocations[nameof(VoidWithEightParametersAsync)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7, parameter8 };
             return Task.CompletedTask;
         }
 
@@ -324,124 +325,142 @@ namespace BasicTestApp.InteropTest
         public static Task<object[]> EchoThreeParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3)
+            DotNetObjectRef<TestDTO> parameter3)
         {
-            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue() });
+            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue() });
         }
 
         [JSInvokable]
         public static Task<object[]> EchoFourParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4)
         {
-            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4 });
+            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4 });
         }
 
         [JSInvokable]
         public static Task<object[]> EchoFiveParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5)
         {
-            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5 });
+            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5 });
         }
 
         [JSInvokable]
         public static Task<object[]> EchoSixParametersAsync(ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6)
         {
-            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6 });
+            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6 });
         }
 
         [JSInvokable]
         public static Task<object[]> EchoSevenParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6,
             List<double> parameter7)
         {
-            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7 });
+            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7 });
         }
 
         [JSInvokable]
         public static Task<object[]> EchoEightParametersAsync(
             ComplexParameter parameter1,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             long parameter5,
             float parameter6,
             List<double> parameter7,
             Segment parameter8)
         {
-            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7, parameter8 });
+            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6, parameter7, parameter8 });
         }
 
         [JSInvokable]
-        public static Dictionary<string, object> ReturnDotNetObjectByRef()
+        public static Dictionary<string, DotNetObjectRef<TestDTO>> ReturnDotNetObjectByRef()
         {
-            return new Dictionary<string, object>
+            return new Dictionary<string, DotNetObjectRef<TestDTO>>
             {
-                { "Some sync instance", new DotNetObjectRef(new TestDTO(1000)) }
+                { "Some sync instance", DotNetObjectRef.Create(new TestDTO(1000)) }
             };
         }
 
         [JSInvokable]
-        public static async Task<Dictionary<string, object>> ReturnDotNetObjectByRefAsync()
+        public static async Task<Dictionary<string, DotNetObjectRef<TestDTO>>> ReturnDotNetObjectByRefAsync()
         {
             await Task.Yield();
-            return new Dictionary<string, object>
+            return new Dictionary<string, DotNetObjectRef<TestDTO>>
             {
-                { "Some async instance", new DotNetObjectRef(new TestDTO(1001)) }
+                { "Some async instance", DotNetObjectRef.Create(new TestDTO(1001)) }
             };
         }
 
         [JSInvokable]
-        public static int ExtractNonSerializedValue(TestDTO objectByRef)
+        public static int ExtractNonSerializedValue(DotNetObjectRef<TestDTO> objectByRef)
         {
-            return objectByRef.GetNonSerializedValue();
+            return objectByRef.Value.GetNonSerializedValue();
         }
 
         [JSInvokable]
-        public Dictionary<string, object> InstanceMethod(Dictionary<string, object> dict)
+        public InstanceMethodOutput InstanceMethod(InstanceMethodInput input)
         {
             // This method shows we can pass in values marshalled both as JSON (the dict itself)
             // and by ref (the incoming dtoByRef), plus that we can return values marshalled as
             // JSON (the returned dictionary) and by ref (the outgoingByRef value)
-            return new Dictionary<string, object>
+            return new InstanceMethodOutput
             {
-                { "thisTypeName", GetType().Name },
-                { "stringValueUpper", ((string)dict["stringValue"]).ToUpperInvariant() },
-                { "incomingByRef", ((TestDTO)dict["dtoByRef"]).GetNonSerializedValue() },
-                { "outgoingByRef", new DotNetObjectRef(new TestDTO(1234)) },
+                ThisTypeName = GetType().Name,
+                StringValueUpper = input.StringValue.ToUpperInvariant(),
+                IncomingByRef = input.DTOByRef.Value.GetNonSerializedValue(),
+                OutgoingByRef = DotNetObjectRef.Create(new TestDTO(1234)),
             };
         }
 
         [JSInvokable]
-        public async Task<Dictionary<string, object>> InstanceMethodAsync(Dictionary<string, object> dict)
+        public async Task<InstanceMethodOutput> InstanceMethodAsync(InstanceMethodInput input)
         {
-            // This method shows we can pass in values marshalled both as JSON (the dict itself)
+            // This method shows we can pass in values marshalled both as JSON
             // and by ref (the incoming dtoByRef), plus that we can return values marshalled as
             // JSON (the returned dictionary) and by ref (the outgoingByRef value)
             await Task.Yield();
-            return new Dictionary<string, object>
+            return new InstanceMethodOutput
             {
-                { "thisTypeName", GetType().Name },
-                { "stringValueUpper", ((string)dict["stringValue"]).ToUpperInvariant() },
-                { "incomingByRef", ((TestDTO)dict["dtoByRef"]).GetNonSerializedValue() },
-                { "outgoingByRef", new DotNetObjectRef(new TestDTO(1234)) },
+                ThisTypeName = GetType().Name,
+                StringValueUpper = input.StringValue.ToUpperInvariant(),
+                IncomingByRef = input.DTOByRef.Value.GetNonSerializedValue(),
+                OutgoingByRef = DotNetObjectRef.Create(new TestDTO(1234)),
             };
         }
+
+        public class InstanceMethodInput
+        {
+            public string StringValue { get; set; }
+
+            public DotNetObjectRef<TestDTO> DTOByRef { get; set; }
+        }
+
+        public class InstanceMethodOutput
+        {
+            public string ThisTypeName { get; set; }
+
+            public string StringValueUpper { get; set; }
+
+            public int IncomingByRef { get; set; }
+
+            public DotNetObjectRef<TestDTO> OutgoingByRef { get; set; }
+        }
     }
 }

+ 1 - 1
src/Components/test/testassets/BasicTestApp/InteropTest/Segment.cs

@@ -3,7 +3,7 @@
 
 namespace BasicTestApp.InteropTest
 {
-    public struct Segment
+    public class Segment
     {
         public string Source { get; set; }
         public int Start { get; set; }

+ 4 - 4
src/Components/test/testassets/BasicTestApp/KeyCasesComponent.razor

@@ -1,9 +1,9 @@
-@using Microsoft.JSInterop
+@using System.Text.Json.Serialization
 <div class="key-cases">
     <div class="model">
         <p>Model</p>
-        <textarea bind="@modelJson" id="key-model"></textarea>
-        <button onclick="@Update">Update</button>
+        <textarea @bind="@modelJson" id="key-model"></textarea>
+        <button @onclick="@Update">Update</button>
     </div>
     <div class="render-output">
         <p>Output</p>
@@ -61,7 +61,7 @@
     void Update()
     {
         renderContext.UpdateCount++;
-        parsedRootNode = Json.Deserialize<KeyCasesTreeNode.Node>(modelJson);
+        parsedRootNode = JsonSerializer.Parse<KeyCasesTreeNode.Node>(modelJson, TestJsonSerializerOptionsProvider.Options);
     }
 
     public class RenderContext

+ 2 - 2
src/Components/test/testassets/BasicTestApp/KeyCasesTreeNode.razor

@@ -21,7 +21,7 @@
             {
                 if (child.Key != null)
                 {
-                    <KeyCasesTreeNode key="@child.Key" Data="@child" />
+                    <KeyCasesTreeNode @key="@child.Key" Data="@child" />
                 }
                 else
                 {
@@ -35,7 +35,7 @@
 @code {
     public class Node
     {
-        public object Key { get; set; }
+        public string Key { get; set; }
         public string Label { get; set; }
         public List<Node> Children { get; set; }
     }

+ 3 - 3
src/Components/test/testassets/BasicTestApp/KeyPressEventComponent.razor

@@ -1,6 +1,6 @@
-@using Microsoft.JSInterop
+@using System.Text.Json.Serialization
 
-Type here: <input onkeypress=@OnKeyPressed />
+Type here: <input @onkeypress=@OnKeyPressed />
 <ul>
     @foreach (var key in keysPressed)
     {
@@ -13,7 +13,7 @@ Type here: <input onkeypress=@OnKeyPressed />
 
     void OnKeyPressed(UIKeyboardEventArgs eventArgs)
     {
-        Console.WriteLine(Json.Serialize(eventArgs));
+        Console.WriteLine(JsonSerializer.ToString(eventArgs));
         keysPressed.Add(eventArgs.Key);
     }
 }

+ 1 - 1
src/Components/test/testassets/BasicTestApp/MarkupBlockComponent.razor

@@ -16,7 +16,7 @@
     [@((RenderFragment)EmitMarkupBlock)]
 </div>
 
-<button onclick=@(() => { changeOutput = true; })>Change output</button>
+<button @onclick=@(() => { changeOutput = true; })>Change output</button>
 
 <h2>Markup string</h2>
 

+ 6 - 6
src/Components/test/testassets/BasicTestApp/MouseEventComponent.razor

@@ -1,5 +1,5 @@
 @using System.Collections.Generic
-@using Microsoft.JSInterop
+@using System.Text.Json.Serialization
 
 <div>
     <h2>Mouse position</h2>
@@ -7,16 +7,16 @@
         Output: <span id="output">@message</span>
     </p>
     <p>
-        Mouseover: <input id="mouseover_input" type="text" onmouseover="@OnMouseOver" onmouseout="@OnMouseOut" />
+        Mouseover: <input id="mouseover_input" type="text" @onmouseover="@OnMouseOver" @onmouseout="@OnMouseOut" />
     </p>
     <p>
-        <span id="mousemove_input" onmousemove="@OnMouseMove">Mousemove city!</span>
+        <span id="mousemove_input" @onmousemove="@OnMouseMove">Mousemove city!</span>
     </p>
     <p>
-        Mousedown: <input id="mousedown_input" onmousedown="@OnMouseDown" onmouseup="@OnMouseUp" />
+        Mousedown: <input id="mousedown_input" @onmousedown="@OnMouseDown" @onmouseup="@OnMouseUp" />
     </p>
     <p>
-        <button onclick="@Clear">Clear</button>
+        <button @onclick="@Clear">Clear</button>
     </p>
 
     <p>
@@ -65,7 +65,7 @@
 
     void DumpEvent(UIMouseEventArgs e)
     {
-        Console.WriteLine(Json.Serialize(e));
+        Console.WriteLine(JsonSerializer.ToString(e));
     }
 
     void Clear()

+ 1 - 1
src/Components/test/testassets/BasicTestApp/MultipleChildContent.razor

@@ -11,7 +11,7 @@
     </ItemTemplate>
 </TemplatedTable>
 
-Toggle: <input type="checkbox" bind="ShowFooter" id="toggle"/>
+Toggle: <input type="checkbox" @bind="ShowFooter" id="toggle"/>
 
 @code {
     List<Item> Items { get; } = new List<Item>()

+ 1 - 1
src/Components/test/testassets/BasicTestApp/PrerenderedToInteractiveTransition.razor

@@ -12,7 +12,7 @@
 <p>
     Clicks:
     <strong id="count">@count</strong>
-    <button id="increment-count" onclick="@(() => count++)">Click me</button>
+    <button id="increment-count" @onclick="@(() => count++)">Click me</button>
 </p>
 
 @code {

+ 2 - 2
src/Components/test/testassets/BasicTestApp/PropertiesChangedHandlerParent.razor

@@ -1,5 +1,5 @@
-<PropertiesChangedHandlerChild SuppliedValue=@valueToSupply />
-<button onclick=@(x => valueToSupply++)>Increment</button>
+<PropertiesChangedHandlerChild SuppliedValue=@valueToSupply />
+<button @onclick=@(x => valueToSupply++)>Increment</button>
 
 @code {
     private int valueToSupply = 100;

+ 2 - 2
src/Components/test/testassets/BasicTestApp/RenderFragmentToggler.razor

@@ -1,4 +1,4 @@
-<div>
+<div>
     <p>Fragment will be toggled below</p>
 
     @if (showFragment)
@@ -6,7 +6,7 @@
         @ExampleFragment
     }
 
-    <button onclick=@(_ => showFragment = !showFragment)>Toggle</button>
+    <button @onclick=@(_ => showFragment = !showFragment)>Toggle</button>
     <p>The end</p>
 </div>
 

+ 6 - 6
src/Components/test/testassets/BasicTestApp/ReorderingFocusComponent.razor

@@ -11,9 +11,9 @@
 <ul class="incomplete-items">
     @foreach (var item in todoItems.Where(item => !item.IsDone))
     {
-        <li key="@item.Id" class="@($"item-{item.Id}")">
-            <input type="checkbox" bind="@item.IsDone"/>
-            <input type="text" bind="@item.Text" oninput="@Shuffle" />
+        <li @key="@item.Id" class="@($"item-{item.Id}")">
+            <input type="checkbox" @bind="@item.IsDone"/>
+            <input type="text" @bind="@item.Text" @oninput="@Shuffle" />
         </li>
     }
 </ul>
@@ -23,9 +23,9 @@
 <ul class="complete-items">
     @foreach (var item in todoItems.Where(item => item.IsDone))
     {
-        <li key="@item.Id" class="@($"item-{item.Id}")">
-            <input type="checkbox" bind="@item.IsDone" />
-            <input type="text" bind="@item.Text" oninput="@Shuffle" />
+        <li @key="@item.Id" class="@($"item-{item.Id}")">
+            <input type="checkbox" @bind="@item.IsDone" />
+            <input type="text" @bind="@item.Text" @oninput="@Shuffle" />
         </li>
     }
 </ul>

+ 2 - 2
src/Components/test/testassets/BasicTestApp/RouterTest/Links.razor

@@ -14,11 +14,11 @@
     <li><NavLink href="/subdir/WithParameters/Name/Abc/LastName/McDef">With more parameters</NavLink></li>
 </ul>
 
-<button id="do-navigation" onclick=@(x => uriHelper.NavigateTo("Other"))>
+<button id="do-navigation" @onclick=@(x => uriHelper.NavigateTo("Other"))>
     Programmatic navigation
 </button>
 
-<button id="do-navigation-forced" onclick=@(x => uriHelper.NavigateTo("Other", true))>
+<button id="do-navigation-forced" @onclick=@(x => uriHelper.NavigateTo("Other", true))>
     Programmatic navigation with force-load
 </button>
 

+ 1 - 1
src/Components/test/testassets/BasicTestApp/RouterTest/UriHelperComponent.razor

@@ -1,7 +1,7 @@
 @inject IUriHelper UriHelper
 @inject Microsoft.JSInterop.IJSRuntime JSRuntime
 
-<button onclick="@Navigate">Navigate</button>
+<button @onclick="@Navigate">Navigate</button>
 
 <span id="test-info">@UrlLocation</span>
 

+ 1 - 1
src/Components/test/testassets/BasicTestApp/SvgComponent.razor

@@ -2,7 +2,7 @@
     <circle cx="125" cy="125" r=@radius fill="red" stroke="black" stroke-width="3" />
 </svg>
 
-<button onclick=@(() => { radius *= 2; })>Click me</button>
+<button @onclick=@(() => { radius *= 2; })>Click me</button>
 
 @code {
     int radius = 10;

+ 15 - 0
src/Components/test/testassets/BasicTestApp/TestJsonSerializerOptionsProvider.cs

@@ -0,0 +1,15 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Text.Json.Serialization;
+
+namespace BasicTestApp
+{
+    internal static class TestJsonSerializerOptionsProvider
+    {
+        public static JsonSerializerOptions Options { get; } = new JsonSerializerOptions
+        {
+            PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
+        };
+    }
+}

+ 9 - 9
src/Components/test/testassets/BasicTestApp/TouchEventComponent.razor

@@ -1,5 +1,5 @@
 @using System.Collections.Generic
-@using Microsoft.JSInterop
+@using System.Text.Json.Serialization
 
 <div>
     <h2>Touch position</h2>
@@ -7,17 +7,17 @@
         Output: <span id="output">@message</span>
     </p>
     <p>
-        <button ontouchstart=@OnTouch
-                ontouchcancel=@OnTouch
-                ontouchenter=@OnTouch
-                ontouchleave=@OnTouch
-                ontouchend=@OnTouch
-                ontouchmove=@OnTouch>
+        <button @ontouchstart=@OnTouch
+                @ontouchcancel=@OnTouch
+                @ontouchenter=@OnTouch
+                @ontouchleave=@OnTouch
+                @ontouchend=@OnTouch
+                @ontouchmove=@OnTouch>
             TOUCH ME
         </button>
     </p>
     <p>
-        <button onclick="@Clear">Clear</button>
+        <button @onclick="@Clear">Clear</button>
     </p>
 </div>
 
@@ -28,7 +28,7 @@
     void OnTouch(UITouchEventArgs e)
     {
         message += e.Type;
-        Console.WriteLine(Json.Serialize(e));
+        Console.WriteLine(JsonSerializer.ToString(e));
         StateHasChanged();
     }
 

+ 2 - 2
src/Components/test/testassets/ComponentsApp.App/Pages/Counter.razor

@@ -1,10 +1,10 @@
-@page "/counter"
+@page "/counter"
 
 <h1>Counter</h1>
 
 <p>Current count: @currentCount</p>
 
-<button class="btn btn-primary" onclick="@IncrementCount">Click me</button>
+<button class="btn btn-primary" @onclick="@IncrementCount">Click me</button>
 
 @code {
     int currentCount = 0;

+ 1 - 1
src/Components/test/testassets/ComponentsApp.App/Pages/Error.razor

@@ -7,7 +7,7 @@
 }
 else
 {
-    <button id="cause-error" onclick="@CauseError">Cause error</button>
+    <button id="cause-error" @onclick="@CauseError">Cause error</button>
 }
 @code {
     public bool ShouldCauseError { get; set; }

+ 2 - 2
src/Components/test/testassets/ComponentsApp.App/Shared/NavMenu.razor

@@ -1,11 +1,11 @@
 <div class="top-row pl-4 navbar navbar-dark">
     <a class="navbar-brand" href="">Razor Components</a>
-    <button class="navbar-toggler" onclick=@ToggleNavMenu>
+    <button class="navbar-toggler" @onclick=@ToggleNavMenu>
         <span class="navbar-toggler-icon"></span>
     </button>
 </div>
 
-<div class=@(collapseNavMenu ? "collapse" : null) onclick=@ToggleNavMenu>
+<div class=@(collapseNavMenu ? "collapse" : null) @onclick=@ToggleNavMenu>
     <ul class="nav flex-column">
         <li class="nav-item px-3">
             <NavLink class="nav-link" href="" Match=NavLinkMatch.All>

+ 2 - 2
src/Components/test/testassets/TestContentPackage/ComponentFromPackage.razor

@@ -1,7 +1,7 @@
-<div class="special-style">
+<div class="special-style">
     This component, including the CSS and image required to produce its
     elegant styling, is in an external NuGet package.
-    <button onclick="@ChangeLabel">@buttonLabel </button>
+    <button @onclick="@ChangeLabel">@buttonLabel </button>
 </div>
 
 @code {

+ 1 - 1
src/Components/test/testassets/TestServer/Controllers/UserController.cs

@@ -25,7 +25,7 @@ namespace Components.TestServer.Controllers
                 UserName = User.Identity.Name,
                 ExposedClaims = User.Claims
                     .Where(c => c.Type == "test-claim" || IsExposedRole(c))
-                    .Select(c => (c.Type, c.Value)).ToList()
+                    .Select(c => new ExposedClaim { Type = c.Type, Value = c.Value }).ToList()
             };
         }
 

+ 0 - 1
src/Mvc/Mvc.Core/test/ModelBinding/EnumerableValueProviderTest.cs

@@ -219,7 +219,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
 
             // Assert
             Assert.Equal(new[] { null, null, "value" }, result.Values);
-            Assert.Equal(",,value", (string)result);
         }
 
         [Fact]

+ 8 - 8
src/Mvc/Mvc.Localization/test/HtmlLocalizerTest.cs

@@ -60,21 +60,21 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
                 yield return new object[] { "Bonjour {0} {{{{ }}", new object[] { "test" }, "Bonjour HtmlEncode[[test]] {{ }" };
                 yield return new object[] { "Bonjour {{0}}", new object[] { "{0}" }, "Bonjour {0}" };
                 yield return new object[] { "Bonjour {0:x}", new object[] { 10 }, "Bonjour HtmlEncode[[a]]" };
-                yield return new object[] { "Bonjour {0:x}}}", new object[] { 10 }, "Bonjour HtmlEncode[[x}]]" };
+                yield return new object[] { "Bonjour {0:x}}}", new object[] { 10 }, "Bonjour HtmlEncode[[a]]}" };
                 yield return new object[] { "Bonjour {{0:x}}", new object[] { 10 }, "Bonjour {0:x}" };
-                yield return new object[] { "{{ Bonjour {{{0:x}}}", new object[] { 10 }, "{ Bonjour {HtmlEncode[[x}]]" };
-                yield return new object[] { "}} Bonjour {{{0:x}}}", new object[] { 10 }, "} Bonjour {HtmlEncode[[x}]]" };
+                yield return new object[] { "{{ Bonjour {{{0:x}}}", new object[] { 10 }, "{ Bonjour {HtmlEncode[[a]]}" };
+                yield return new object[] { "}} Bonjour {{{0:x}}}", new object[] { 10 }, "} Bonjour {HtmlEncode[[a]]}" };
                 yield return new object[] { "}} Bonjour", new object[] { }, "} Bonjour" };
                 yield return new object[] { "{{ {0} }}", new object[] { 10 }, "{ HtmlEncode[[10]] }" };
                 yield return new object[] {
                     "Bonjour {{{0:x}}} {1:yyyy}",
                     new object[] { 10, new DateTime(2015, 10, 10) },
-                    "Bonjour {HtmlEncode[[x}]] HtmlEncode[[2015]]"
+                    "Bonjour {HtmlEncode[[a]]} HtmlEncode[[2015]]"
                 };
                 yield return new object[] {
                     "Bonjour {{{0:x}}} Bienvenue {{1:yyyy}}",
                     new object[] { 10, new DateTime(2015, 10, 10) },
-                    "Bonjour {HtmlEncode[[x}]] Bienvenue {1:yyyy}"
+                    "Bonjour {HtmlEncode[[a]]} Bienvenue {1:yyyy}"
                 };
                 yield return new object[] { // padding happens after encoding
                     "Bonjour {0,6} Bienvenue {{1:yyyy}}",
@@ -86,11 +86,11 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
                     new object[] { 10, new DateTime(2015, 10, 10) },
                     "Bonjour     HtmlEncode[[10]] Bienvenue {1:yyyy}"
                 };
-                yield return new object[] { "{0:{{000}}}", new object[] { 10 }, "HtmlEncode[[{010}]]" };
+                yield return new object[] { "{0:000}", new object[] { 10 }, "HtmlEncode[[010]]" };
                 yield return new object[] {
-                    "Bonjour {0:'{{characters that should be escaped}}b'###'b'}",
+                    "Bonjour {0:'characters that should be escaped b'###'b'}",
                     new object[] { 10 },
-                    "Bonjour HtmlEncode[[{characters that should be escaped}b10b]]"
+                    "Bonjour HtmlEncode[[characters that should be escaped b10b]]"
                 };
             }
         }

+ 0 - 5
src/Mvc/Mvc.ViewFeatures/src/RazorComponents/UnsupportedJavaScriptRuntime.cs

@@ -13,10 +13,5 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures
         {
             throw new InvalidOperationException("JavaScript interop calls cannot be issued during server-side prerendering, because the page has not yet loaded in the browser. Prerendered components must wrap any JavaScript interop calls in conditional logic to ensure those interop calls are not attempted during prerendering.");
         }
-
-        public void UntrackObjectRef(DotNetObjectRef dotNetObjectRef)
-        {
-            throw new InvalidOperationException("JavaScript interop calls cannot be issued during server-side prerendering, because the page has not yet loaded in the browser. Prerendered components must wrap any JavaScript interop calls in conditional logic to ensure those interop calls are not attempted during prerendering.");
-        }
     }
 }

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff