Browse Source

[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 năm trước cách đây
mục cha
commit
dd07fa09d2
100 tập tin đã thay đổi với 909 bổ sung700 xóa
  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>
       <Uri>https://github.com/aspnet/Blazor</Uri>
       <Sha>c879c3a911b4c2d6cccd4d6ff2de86a6949cda88</Sha>
       <Sha>c879c3a911b4c2d6cccd4d6ff2de86a6949cda88</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>187d2dae3f94981518ac37588925fe1414127248</Sha>
+      <Sha>fd34479f7cb75a088f5517d0a79d9499fdf44036</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>187d2dae3f94981518ac37588925fe1414127248</Sha>
+      <Sha>fd34479f7cb75a088f5517d0a79d9499fdf44036</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>187d2dae3f94981518ac37588925fe1414127248</Sha>
+      <Sha>fd34479f7cb75a088f5517d0a79d9499fdf44036</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>187d2dae3f94981518ac37588925fe1414127248</Sha>
+      <Sha>fd34479f7cb75a088f5517d0a79d9499fdf44036</Sha>
     </Dependency>
     </Dependency>
     <Dependency Name="dotnet-ef" Version="3.0.0-preview6.19252.4" Pinned="true">
     <Dependency Name="dotnet-ef" Version="3.0.0-preview6.19252.4" Pinned="true">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
@@ -57,340 +57,340 @@
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
       <Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
       <Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </Dependency>
     <Dependency Name="System.Data.SqlClient" Version="4.7.0-preview6.19264.9" CoherentParentDependency="Microsoft.NETCore.App" Pinned="true">
     <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>
       <Uri>https://github.com/dotnet/corefx</Uri>
       <Sha>a28176b5ec68b6da1472934fe9493790d1665cae</Sha>
       <Sha>a28176b5ec68b6da1472934fe9493790d1665cae</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>20426e8c486d8715337cb6438ec70bc3619a514d</Sha>
+      <Sha>63abc77da6d99470caa5bfa0465afe244105e595</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>20426e8c486d8715337cb6438ec70bc3619a514d</Sha>
+      <Sha>63abc77da6d99470caa5bfa0465afe244105e595</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>20426e8c486d8715337cb6438ec70bc3619a514d</Sha>
+      <Sha>63abc77da6d99470caa5bfa0465afe244105e595</Sha>
     </Dependency>
     </Dependency>
   </ProductDependencies>
   </ProductDependencies>
   <ToolsetDependencies>
   <ToolsetDependencies>
     <!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
     <!-- 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>
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>41489a93acf3f36abcaaaea2003a8fdbb577cf35</Sha>
+      <Sha>e23119d577e644d2c2a25419c88c1181681358e0</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </Dependency>
     <Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19274.6">
     <Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19274.6">
       <Uri>https://github.com/dotnet/arcade</Uri>
       <Uri>https://github.com/dotnet/arcade</Uri>
@@ -404,9 +404,9 @@
       <Uri>https://github.com/dotnet/arcade</Uri>
       <Uri>https://github.com/dotnet/arcade</Uri>
       <Sha>b5016f5688dc8ca9f3e4811ee7e2e86ad8907a40</Sha>
       <Sha>b5016f5688dc8ca9f3e4811ee7e2e86ad8907a40</Sha>
     </Dependency>
     </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>
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8550f61acc7d78990b7c67ea1647eaff29f80dc3</Sha>
+      <Sha>bfea1edf9e2e9a5465f331517149c4f543ac2ba6</Sha>
     </Dependency>
     </Dependency>
   </ToolsetDependencies>
   </ToolsetDependencies>
 </Dependencies>
 </Dependencies>

+ 87 - 87
eng/Versions.props

@@ -23,95 +23,95 @@
     <!-- Packages from dotnet/arcade -->
     <!-- Packages from dotnet/arcade -->
     <MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19274.6</MicrosoftDotNetGenAPIPackageVersion>
     <MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19274.6</MicrosoftDotNetGenAPIPackageVersion>
     <!-- Packages from dotnet/core-setup -->
     <!-- 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 -->
     <!-- 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>
     <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 -->
     <!-- 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 -->
     <!-- Packages from aspnet/Blazor -->
     <MicrosoftAspNetCoreBlazorMonoPackageVersion>0.10.0-preview6.19273.9</MicrosoftAspNetCoreBlazorMonoPackageVersion>
     <MicrosoftAspNetCoreBlazorMonoPackageVersion>0.10.0-preview6.19273.9</MicrosoftAspNetCoreBlazorMonoPackageVersion>
     <!-- Packages from aspnet/Extensions -->
     <!-- 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 -->
     <!-- Packages from aspnet/EntityFrameworkCore -->
     <dotnetefPackageVersion>3.0.0-preview6.19252.4</dotnetefPackageVersion>
     <dotnetefPackageVersion>3.0.0-preview6.19252.4</dotnetefPackageVersion>
     <MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
     <MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
@@ -121,10 +121,10 @@
     <MicrosoftEntityFrameworkCoreToolsPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreToolsPackageVersion>
     <MicrosoftEntityFrameworkCoreToolsPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreToolsPackageVersion>
     <MicrosoftEntityFrameworkCorePackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCorePackageVersion>
     <MicrosoftEntityFrameworkCorePackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCorePackageVersion>
     <!-- Packages from aspnet/AspNetCore-Tooling -->
     <!-- 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>
   </PropertyGroup>
   <!--
   <!--
 
 

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

@@ -6,10 +6,11 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using System.Net;
 using System.Net;
 using System.Net.Http;
 using System.Net.Http;
+using System.Text.Json.Serialization;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using Microsoft.AspNetCore.Blazor.Services;
 using Microsoft.AspNetCore.Blazor.Services;
-using Microsoft.JSInterop;
+using Microsoft.AspNetCore.Components;
 
 
 namespace Microsoft.AspNetCore.Blazor.Http
 namespace Microsoft.AspNetCore.Blazor.Http
 {
 {
@@ -59,7 +60,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
             options.RequestInit = new RequestInit
             options.RequestInit = new RequestInit
             {
             {
                 Credentials = GetDefaultCredentialsString(),
                 Credentials = GetDefaultCredentialsString(),
-                Headers = GetHeadersAsStringArray(request),
+                Headers = GetHeaders(request),
                 Method = request.Method.Method
                 Method = request.Method.Method
             };
             };
 
 
@@ -68,7 +69,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
                 "Blazor._internal.http.sendAsync",
                 "Blazor._internal.http.sendAsync",
                 id,
                 id,
                 request.Content == null ? null : await request.Content.ReadAsByteArrayAsync(),
                 request.Content == null ? null : await request.Content.ReadAsByteArrayAsync(),
-                Json.Serialize(options));
+                JsonSerializer.ToString(options, JsonSerializerOptionsProvider.Options));
 
 
             return await tcs.Task;
             return await tcs.Task;
         }
         }
@@ -99,7 +100,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
             }
             }
             else
             else
             {
             {
-                var responseDescriptor = Json.Deserialize<ResponseDescriptor>(responseDescriptorJson);
+                var responseDescriptor = JsonSerializer.Parse<ResponseDescriptor>(responseDescriptorJson, JsonSerializerOptionsProvider.Options);
                 var responseContent = responseBodyData == null ? null : new ByteArrayContent(responseBodyData);
                 var responseContent = responseBodyData == null ? null : new ByteArrayContent(responseBodyData);
                 var responseMessage = responseDescriptor.ToResponseMessage(responseContent);
                 var responseMessage = responseDescriptor.ToResponseMessage(responseContent);
                 tcs.SetResult(responseMessage);
                 tcs.SetResult(responseMessage);
@@ -114,10 +115,25 @@ namespace Microsoft.AspNetCore.Blazor.Http
         private static byte[] AllocateArray(string length) => new byte[int.Parse(length)];
         private static byte[] AllocateArray(string length) => new byte[int.Parse(length)];
 #pragma warning restore IDE0051 // Remove unused private members
 #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()
         private static string GetDefaultCredentialsString()
         {
         {
@@ -147,7 +163,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
         private class RequestInit
         private class RequestInit
         {
         {
             public string Credentials { get; set; }
             public string Credentials { get; set; }
-            public string[][] Headers { get; set; }
+            public IReadOnlyList<Header> Headers { get; set; }
             public string Method { get; set; }
             public string Method { get; set; }
         }
         }
 
 
@@ -156,7 +172,7 @@ namespace Microsoft.AspNetCore.Blazor.Http
 #pragma warning disable 0649
 #pragma warning disable 0649
             public int StatusCode { get; set; }
             public int StatusCode { get; set; }
             public string StatusText { get; set; }
             public string StatusText { get; set; }
-            public string[][] Headers { get; set; }
+            public IReadOnlyList<Header> Headers { get; set; }
 #pragma warning restore 0649
 #pragma warning restore 0649
 
 
             public HttpResponseMessage ToResponseMessage(HttpContent content)
             public HttpResponseMessage ToResponseMessage(HttpContent content)
@@ -168,14 +184,21 @@ namespace Microsoft.AspNetCore.Blazor.Http
                 var contentHeaders = result.Content?.Headers;
                 var contentHeaders = result.Content?.Headers;
                 foreach (var pair in 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;
                 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>
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
     <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.
 // 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.
 // 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;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
+using System.Text.Json.Serialization;
+using Microsoft.AspNetCore.Components;
+using Mono.Cecil;
 
 
 namespace Microsoft.AspNetCore.Blazor.Build
 namespace Microsoft.AspNetCore.Blazor.Build
 {
 {
@@ -40,7 +41,7 @@ namespace Microsoft.AspNetCore.Blazor.Build
                 assemblyReferences,
                 assemblyReferences,
                 embeddedContent,
                 embeddedContent,
                 linkerEnabled);
                 linkerEnabled);
-            return Json.Serialize(data);
+            return JsonSerializer.ToString(data, JsonSerializerOptionsProvider.Options);
         }
         }
 
 
         private static string GetAssemblyEntryPoint(string assemblyPath)
         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>
   <PropertyGroup>
     <TargetFramework>netcoreapp3.0</TargetFramework>
     <TargetFramework>netcoreapp3.0</TargetFramework>
@@ -47,4 +47,8 @@
     <Reference Include="Mono.Cecil" />
     <Reference Include="Mono.Cecil" />
     <Reference Include="System.CodeDom" />
     <Reference Include="System.CodeDom" />
   </ItemGroup>
   </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="..\..\..\Components\src\JsonSerializerOptionsProvider.cs" />
+  </ItemGroup>
 </Project>
 </Project>

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

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

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

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

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

@@ -121,7 +121,7 @@ namespace Test
             AdditionalSyntaxTrees.Add(GenericContextComponent);
             AdditionalSyntaxTrees.Add(GenericContextComponent);
 
 
             var component = CompileToComponent(@"
             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 {
 @code {
     GenericContext<int> _my;
     GenericContext<int> _my;
@@ -188,7 +188,7 @@ namespace Test
             AdditionalSyntaxTrees.Add(GenericContextComponent);
             AdditionalSyntaxTrees.Add(GenericContextComponent);
 
 
             var component = CompileToComponent(@"
             var component = CompileToComponent(@"
-<GenericContext Items=""@(new List<int>() { 1, 2, })"" ref=""_my"" />
+<GenericContext Items=""@(new List<int>() { 1, 2, })"" @ref=""_my"" />
 
 
 @code {
 @code {
     GenericContext<int> _my;
     GenericContext<int> _my;
@@ -221,7 +221,7 @@ namespace Test
 
 
             var assembly = CompileToAssembly("Test.cshtml", @"
             var assembly = CompileToAssembly("Test.cshtml", @"
 @typeparam TItem
 @typeparam TItem
-<GenericContext Items=""@MyItems"" ref=""_my"" />
+<GenericContext Items=""@MyItems"" @ref=""_my"" />
 
 
 @code {
 @code {
     [Parameter] List<TItem> MyItems { get; set; }
     [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
             // Arrange/Act
             var component = CompileToComponent(
             var component = CompileToComponent(
-                @"<input bind=""MyValue"" />
+                @"<input @bind=""MyValue"" />
                 @code {
                 @code {
                     public string MyValue { get; set; } = ""Initial value"";
                     public string MyValue { get; set; } = ""Initial value"";
                 }");
                 }");
@@ -375,7 +375,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
         {
             // Arrange/Act
             // Arrange/Act
             var component = CompileToComponent(
             var component = CompileToComponent(
-                @"<textarea bind=""MyValue"" ></textarea>
+                @"<textarea @bind=""MyValue"" ></textarea>
                 @code {
                 @code {
                     public string MyValue { get; set; } = ""Initial value"";
                     public string MyValue { get; set; } = ""Initial value"";
                 }");
                 }");
@@ -410,7 +410,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
         {
             // Arrange/Act
             // Arrange/Act
             var component = CompileToComponent(
             var component = CompileToComponent(
-                @"<input bind=""MyDate"" />
+                @"<input @bind=""MyDate"" />
                 @code {
                 @code {
                     public DateTime MyDate { get; set; } = new DateTime(2018, 3, 4, 1, 2, 3);
                     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
             // Arrange/Act
             var testDateFormat = "ddd yyyy-MM-dd";
             var testDateFormat = "ddd yyyy-MM-dd";
             var component = CompileToComponent(
             var component = CompileToComponent(
-                $@"<input bind=""@MyDate"" bind:format=""{testDateFormat}"" />
+                $@"<input @bind=""@MyDate"" @bind:format=""{testDateFormat}"" />
                 @code {{
                 @code {{
                     public DateTime MyDate {{ get; set; }} = new DateTime(2018, 3, 4);
                     public DateTime MyDate {{ get; set; }} = new DateTime(2018, 3, 4);
                 }}");
                 }}");
@@ -483,7 +483,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
         {
             // Arrange
             // Arrange
             var component = CompileToComponent(@"
             var component = CompileToComponent(@"
-<button onclick=""function(){console.log('hello');};"" />");
+<button @onclick=""function(){console.log('hello');};"" />");
 
 
             // Act
             // Act
             var frames = GetRenderTree(component);
             var frames = GetRenderTree(component);
@@ -499,7 +499,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
         {
             // Arrange
             // Arrange
             var component = CompileToComponent(@"
             var component = CompileToComponent(@"
-<button onclick=""@(x => Clicked = true)"" />
+<button @onclick=""@(x => Clicked = true)"" />
 @code {
 @code {
     public bool Clicked { get; set; }
     public bool Clicked { get; set; }
 }");
 }");
@@ -531,7 +531,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
         {
             // Arrange
             // Arrange
             var component = CompileToComponent(@"
             var component = CompileToComponent(@"
-<button onclick=""@OnClick"" />
+<button @onclick=""@OnClick"" />
 @code {
 @code {
     public void OnClick(UIMouseEventArgs e) { Clicked = true; }
     public void OnClick(UIMouseEventArgs e) { Clicked = true; }
     public bool Clicked { get; set; }
     public bool Clicked { get; set; }
@@ -568,7 +568,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
         {
         {
             // Arrange/Act
             // Arrange/Act
             var component = CompileToComponent(
             var component = CompileToComponent(
-                @"<input bind=""MyValue"" />
+                @"<input @bind=""MyValue"" />
                 @code {
                 @code {
                     public bool MyValue { get; set; } = true;
                     public bool MyValue { get; set; } = true;
                 }");
                 }");
@@ -604,7 +604,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
             // Arrange/Act
             // Arrange/Act
             var myEnumType = FullTypeName<MyEnum>();
             var myEnumType = FullTypeName<MyEnum>();
             var component = CompileToComponent(
             var component = CompileToComponent(
-                $@"<input bind=""MyValue"" />
+                $@"<input @bind=""MyValue"" />
                 @code {{
                 @code {{
                     public {myEnumType} MyValue {{ get; set; }} = {myEnumType}.{nameof(MyEnum.FirstValue)};
                     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.Collections.Generic;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
+using System.Text;
 using Microsoft.AspNetCore.Testing.xunit;
 using Microsoft.AspNetCore.Testing.xunit;
 using Xunit;
 using Xunit;
-using Xunit.Abstractions;
 
 
 namespace Microsoft.AspNetCore.Blazor.Build.Test
 namespace Microsoft.AspNetCore.Blazor.Build.Test
 {
 {
     public class RuntimeDependenciesResolverTest
     public class RuntimeDependenciesResolverTest
     {
     {
-        private readonly ITestOutputHelper _output;
-
-        public RuntimeDependenciesResolverTest(ITestOutputHelper output)
-        {
-            _output = output;
-        }
-
         [ConditionalFact]
         [ConditionalFact]
         [SkipOnHelix("https://github.com/aspnet/AspNetCore/issues/10426")]
         [SkipOnHelix("https://github.com/aspnet/AspNetCore/issues/10426")]
         public void FindsReferenceAssemblyGraph_ForStandaloneApp()
         public void FindsReferenceAssemblyGraph_ForStandaloneApp()
@@ -128,14 +121,49 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
 
 
             var expected = new HashSet<string>(expectedContents);
             var expected = new HashSet<string>(expectedContents);
             var actual = new HashSet<string>(contents);
             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
             // Assert
+            if (contentNotFound.Any() || additionalContentFound.Any())
+            {
+                throw new ContentMisMatchException
+                {
+                    ContentNotFound = contentNotFound,
+                    AdditionalContentFound = additionalContentFound,
+                };
+            }
+
             Assert.Equal(expectedContents, contents);
             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>
 <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 {
 @code {
     int currentCount = 0;
     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">
 <div class="top-row pl-4 navbar navbar-dark">
     <a class="navbar-brand" href="">BlazorHosted-CSharp</a>
     <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>
         <span class="navbar-toggler-icon"></span>
     </button>
     </button>
 </div>
 </div>
 
 
-<div class="@NavMenuCssClass" onclick="@ToggleNavMenu">
+<div class="@NavMenuCssClass" @onclick="@ToggleNavMenu">
     <ul class="nav flex-column">
     <ul class="nav flex-column">
         <li class="nav-item px-3">
         <li class="nav-item px-3">
             <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
             <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>
 <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 {
 @code {
     int currentCount = 0;
     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">
 <div class="top-row pl-4 navbar navbar-dark">
     <a class="navbar-brand" href="">BlazorStandalone-CSharp</a>
     <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>
         <span class="navbar-toggler-icon"></span>
     </button>
     </button>
 </div>
 </div>
 
 
-<div class="@NavMenuCssClass" onclick="@ToggleNavMenu">
+<div class="@NavMenuCssClass" @onclick="@ToggleNavMenu">
     <ul class="nav flex-column">
     <ul class="nav flex-column">
         <li class="nav-item px-3">
         <li class="nav-item px-3">
             <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
             <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"
 @page "/json"
+@using System.Text.Json.Serialization
 @inject IJSRuntime JSRuntime
 @inject IJSRuntime JSRuntime
 
 
 <h2>JSON performance</h2>
 <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>
 <p><pre style="border: 1px solid black; overflow: scroll;">@serializedValue</pre></p>
 @if (serializedValue != null)
 @if (serializedValue != null)
@@ -14,8 +15,8 @@
     <p>Serialized length: <strong id="serialized-length">@serializedValue.Length</strong> chars</p>
     <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)
 @if (numPeopleDeserialized > 0)
 {
 {
@@ -32,8 +33,8 @@
 
 
     protected override void OnInit()
     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()
     protected override void OnAfterRender()
@@ -50,10 +51,10 @@
     }
     }
 
 
     void SerializeSmall()
     void SerializeSmall()
-        => serializedValue = Microsoft.JSInterop.Json.Serialize(smallOrgChart);
+        => serializedValue = JsonSerializer.ToString(smallOrgChart);
 
 
     void SerializeLarge()
     void SerializeLarge()
-        => serializedValue = Microsoft.JSInterop.Json.Serialize(largeOrgChart);
+        => serializedValue = JsonSerializer.ToString(largeOrgChart);
 
 
     void DeserializeSmall()
     void DeserializeSmall()
         => numPeopleDeserialized = Deserialize(smallOrgChartJson);
         => numPeopleDeserialized = Deserialize(smallOrgChartJson);
@@ -80,7 +81,7 @@
 
 
     static int Deserialize(string json)
     static int Deserialize(string json)
     {
     {
-        var ceo = Microsoft.JSInterop.Json.Deserialize<Person>(json);
+        var ceo = JsonSerializer.Parse<Person>(json);
         return CountPeople(ceo);
         return CountPeople(ceo);
     }
     }
 
 

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

@@ -3,9 +3,9 @@
 
 
 <h2>Render List</h2>
 <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)
 @if (show)
 {
 {

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

@@ -1,10 +1,10 @@
-@page "/counter"
+@page "/counter"
 
 
 <h1>Counter</h1>
 <h1>Counter</h1>
 
 
 <p>Current count: @currentCount</p>
 <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 {
 @code {
     int currentCount = 0;
     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>
     <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>
         <span class="navbar-toggler-icon"></span>
     </button>
     </button>
 </div>
 </div>
 
 
-<div class=@(collapseNavMenu ? "collapse" : null) onclick=@ToggleNavMenu>
+<div class=@(collapseNavMenu ? "collapse" : null) @onclick=@ToggleNavMenu>
     <ul class="nav flex-column">
     <ul class="nav flex-column">
         <li class="nav-item px-3">
         <li class="nav-item px-3">
             <NavLink class="nav-link" href="" Match=NavLinkMatch.All>
             <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); });
             promise.catch(function (error) { return console.error(error); });
         };
         };
         DotNetObject.prototype.serializeAsArg = function () {
         DotNetObject.prototype.serializeAsArg = function () {
-            return "__dotNetObject:" + this._id;
+            return { __dotNetObject: this._id };
         };
         };
         return DotNetObject;
         return DotNetObject;
     }());
     }());
-    var dotNetObjectValueFormat = /^__dotNetObject\:(\d+)$/;
+    var dotNetObjectRefKey = '__dotNetObject';
     attachReviver(function reviveDotNetObject(key, value) {
     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
         // Unrecognized - let another reviver handle it
         return value;
         return value;
@@ -13645,7 +13642,7 @@ function getCaptureIdAttributeName(referenceCaptureId) {
     return "_bl_" + referenceCaptureId;
     return "_bl_" + referenceCaptureId;
 }
 }
 // Support receiving ElementRef instances as args in interop calls
 // 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) {
 DotNet.attachReviver(function (key, value) {
     if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
     if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
         return getElementByCaptureId(value[elementRefKey]);
         return getElementByCaptureId(value[elementRefKey]);
@@ -14773,7 +14770,7 @@ function sendAsync(id, body, jsonFetchArgs) {
             switch (_a.label) {
             switch (_a.label) {
                 case 0:
                 case 0:
                     fetchOptions = JSON.parse(Environment_1.platform.toJavaScriptString(jsonFetchArgs));
                     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) {
                     if (body) {
                         requestInit.body = Environment_1.platform.toUint8Array(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) {
 function dispatchSuccessResponse(id, response, responseData) {
     var responseDescriptor = {
     var responseDescriptor = {
         statusCode: response.status,
         statusCode: response.status,
@@ -14805,7 +14809,7 @@ function dispatchSuccessResponse(id, response, responseData) {
         headers: [],
         headers: [],
     };
     };
     response.headers.forEach(function (value, name) {
     response.headers.forEach(function (value, name) {
-        responseDescriptor.headers.push([name, value]);
+        responseDescriptor.headers.push({ name: name, value: value });
     });
     });
     if (!allocateArrayMethod) {
     if (!allocateArrayMethod) {
         allocateArrayMethod = Environment_1.platform.findMethod(httpClientAssembly, httpClientNamespace, httpClientTypeName, 'AllocateArray');
         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); });
             promise.catch(function (error) { return console.error(error); });
         };
         };
         DotNetObject.prototype.serializeAsArg = function () {
         DotNetObject.prototype.serializeAsArg = function () {
-            return "__dotNetObject:" + this._id;
+            return { __dotNetObject: this._id };
         };
         };
         return DotNetObject;
         return DotNetObject;
     }());
     }());
-    var dotNetObjectValueFormat = /^__dotNetObject\:(\d+)$/;
+    var dotNetObjectRefKey = '__dotNetObject';
     attachReviver(function reviveDotNetObject(key, value) {
     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
         // Unrecognized - let another reviver handle it
         return value;
         return value;
@@ -1406,7 +1403,7 @@ function getCaptureIdAttributeName(referenceCaptureId) {
     return "_bl_" + referenceCaptureId;
     return "_bl_" + referenceCaptureId;
 }
 }
 // Support receiving ElementRef instances as args in interop calls
 // 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) {
 DotNet.attachReviver(function (key, value) {
     if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
     if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
         return getElementByCaptureId(value[elementRefKey]);
         return getElementByCaptureId(value[elementRefKey]);
@@ -2339,7 +2336,7 @@ function sendAsync(id, body, jsonFetchArgs) {
             switch (_a.label) {
             switch (_a.label) {
                 case 0:
                 case 0:
                     fetchOptions = JSON.parse(Environment_1.platform.toJavaScriptString(jsonFetchArgs));
                     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) {
                     if (body) {
                         requestInit.body = Environment_1.platform.toUint8Array(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) {
 function dispatchSuccessResponse(id, response, responseData) {
     var responseDescriptor = {
     var responseDescriptor = {
         statusCode: response.status,
         statusCode: response.status,
@@ -2371,7 +2375,7 @@ function dispatchSuccessResponse(id, response, responseData) {
         headers: [],
         headers: [],
     };
     };
     response.headers.forEach(function (value, name) {
     response.headers.forEach(function (value, name) {
-        responseDescriptor.headers.push([name, value]);
+        responseDescriptor.headers.push({ name: name, value: value });
     });
     });
     if (!allocateArrayMethod) {
     if (!allocateArrayMethod) {
         allocateArrayMethod = Environment_1.platform.findMethod(httpClientAssembly, httpClientNamespace, httpClientTypeName, 'AllocateArray');
         allocateArrayMethod = Environment_1.platform.findMethod(httpClientAssembly, httpClientNamespace, httpClientTypeName, 'AllocateArray');

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
src/Components/Browser.JS/dist/Release/blazor.server.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
src/Components/Browser.JS/dist/Release/blazor.webassembly.js


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

@@ -13,7 +13,7 @@
   "devDependencies": {
   "devDependencies": {
     "@aspnet/signalr": "^1.0.0",
     "@aspnet/signalr": "^1.0.0",
     "@aspnet/signalr-protocol-msgpack": "^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/emscripten": "0.0.31",
     "@types/jest": "^24.0.6",
     "@types/jest": "^24.0.6",
     "@types/jsdom": "11.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
 // 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) => {
 DotNet.attachReviver((key, value) => {
   if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
   if (value && typeof value === 'object' && value.hasOwnProperty(elementRefKey) && typeof value[elementRefKey] === 'string') {
     return getElementByCaptureId(value[elementRefKey]);
     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;
   let responseData: ArrayBuffer;
 
 
   const fetchOptions: FetchOptions = JSON.parse(platform.toJavaScriptString(jsonFetchArgs));
   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) {
   if (body) {
     requestInit.body = platform.toUint8Array(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);
   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) {
 function dispatchSuccessResponse(id: number, response: Response, responseData: ArrayBuffer) {
   const responseDescriptor: ResponseDescriptor = {
   const responseDescriptor: ResponseDescriptor = {
     statusCode: response.status,
     statusCode: response.status,
@@ -40,7 +48,7 @@ function dispatchSuccessResponse(id: number, response: Response, responseData: A
     headers: [],
     headers: [],
   };
   };
   response.headers.forEach((value, name) => {
   response.headers.forEach((value, name) => {
-    responseDescriptor.headers.push([name, value]);
+    responseDescriptor.headers.push({ name: name, value: value });
   });
   });
 
 
   if (!allocateArrayMethod) {
   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
 // Keep these in sync with the .NET equivalent in WebAssemblyHttpMessageHandler.cs
 interface FetchOptions {
 interface FetchOptions {
   requestUri: string;
   requestUri: string;
-  requestInit: RequestInit;
+  requestInit: BlazorRequestInit;
   requestInitOverrides: RequestInit;
   requestInitOverrides: RequestInit;
 }
 }
 
 
+interface BlazorRequestInit {
+  credentials: string;
+  headers: Header[];
+  method: string;
+}
+
 interface ResponseDescriptor {
 interface ResponseDescriptor {
   // We don't have BodyText in here because if we did, then in the JSON-response case (which
   // 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
   // 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.
   // also gets JSON encoded. It would work but is twice the amount of string processing.
   statusCode: number;
   statusCode: number;
   statusText: string;
   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"
     lodash "^4.17.11"
     to-fast-properties "^2.0.0"
     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]":
 "@types/[email protected]":
   version "0.0.31"
   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>
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
     <TargetFramework>netstandard2.0</TargetFramework>
@@ -13,4 +13,8 @@
     <Reference Include="Microsoft.Extensions.DependencyInjection" />
     <Reference Include="Microsoft.Extensions.DependencyInjection" />
   </ItemGroup>
   </ItemGroup>
 
 
+  <ItemGroup>
+    <Compile Include="..\..\Components\src\JsonSerializerOptionsProvider.cs" />
+  </ItemGroup>
+
 </Project>
 </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.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 
 using System;
 using System;
+using System.Text.Json;
+using System.Text.Json.Serialization;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using Microsoft.AspNetCore.Components.Rendering;
 using Microsoft.AspNetCore.Components.Rendering;
 using Microsoft.JSInterop;
 using Microsoft.JSInterop;
@@ -30,34 +32,61 @@ namespace Microsoft.AspNetCore.Components.Browser
             switch (eventArgsType)
             switch (eventArgsType)
             {
             {
                 case "change":
                 case "change":
-                    return Json.Deserialize<UIChangeEventArgs>(eventArgsJson);
+                    return DeserializeUIEventChangeArgs(eventArgsJson);
                 case "clipboard":
                 case "clipboard":
-                    return Json.Deserialize<UIClipboardEventArgs>(eventArgsJson);
+                    return Deserialize<UIClipboardEventArgs>(eventArgsJson);
                 case "drag":
                 case "drag":
-                    return Json.Deserialize<UIDragEventArgs>(eventArgsJson);
+                    return Deserialize<UIDragEventArgs>(eventArgsJson);
                 case "error":
                 case "error":
-                    return Json.Deserialize<UIErrorEventArgs>(eventArgsJson);
+                    return Deserialize<UIErrorEventArgs>(eventArgsJson);
                 case "focus":
                 case "focus":
-                    return Json.Deserialize<UIFocusEventArgs>(eventArgsJson);
+                    return Deserialize<UIFocusEventArgs>(eventArgsJson);
                 case "keyboard":
                 case "keyboard":
-                    return Json.Deserialize<UIKeyboardEventArgs>(eventArgsJson);
+                    return Deserialize<UIKeyboardEventArgs>(eventArgsJson);
                 case "mouse":
                 case "mouse":
-                    return Json.Deserialize<UIMouseEventArgs>(eventArgsJson);
+                    return Deserialize<UIMouseEventArgs>(eventArgsJson);
                 case "pointer":
                 case "pointer":
-                    return Json.Deserialize<UIPointerEventArgs>(eventArgsJson);
+                    return Deserialize<UIPointerEventArgs>(eventArgsJson);
                 case "progress":
                 case "progress":
-                    return Json.Deserialize<UIProgressEventArgs>(eventArgsJson);
+                    return Deserialize<UIProgressEventArgs>(eventArgsJson);
                 case "touch":
                 case "touch":
-                    return Json.Deserialize<UITouchEventArgs>(eventArgsJson);
+                    return Deserialize<UITouchEventArgs>(eventArgsJson);
                 case "unknown":
                 case "unknown":
-                    return Json.Deserialize<UIEventArgs>(eventArgsJson);
+                    return Deserialize<UIEventArgs>(eventArgsJson);
                 case "wheel":
                 case "wheel":
-                    return Json.Deserialize<UIWheelEventArgs>(eventArgsJson);
+                    return Deserialize<UIWheelEventArgs>(eventArgsJson);
                 default:
                 default:
                      throw new ArgumentException($"Unsupported value '{eventArgsType}'.", nameof(eventArgsType));
                      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>
         /// <summary>
         /// For framework use only.
         /// For framework use only.
         /// </summary>
         /// </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 { } }
         public string[] Types { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
     }
     }
     [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
     [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;
         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)]
     [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
     public readonly partial struct EventCallback
     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.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 
 namespace Microsoft.AspNetCore.Components
 namespace Microsoft.AspNetCore.Components
@@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Components
     /// <c>BindAttributes</c> and annotate it with the appropriate attributes.
     /// <c>BindAttributes</c> and annotate it with the appropriate attributes.
     /// </remarks>
     /// </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.
     // when a specific type attribute is applied.
     [BindInputElement(null, null, "value", "onchange")]
     [BindInputElement(null, null, "value", "onchange")]
 
 

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

@@ -1,9 +1,8 @@
 // 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.
 // 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;
-using System.Collections.Generic;
+using System.ComponentModel;
 using System.Threading;
 using System.Threading;
 
 
 namespace Microsoft.AspNetCore.Components
 namespace Microsoft.AspNetCore.Components
@@ -11,29 +10,30 @@ namespace Microsoft.AspNetCore.Components
     /// <summary>
     /// <summary>
     /// Represents a reference to a rendered element.
     /// Represents a reference to a rendered element.
     /// </summary>
     /// </summary>
-    public readonly struct ElementRef : ICustomArgSerializer
+    public readonly struct ElementRef
     {
     {
         static long _nextIdForWebAssemblyOnly = 1;
         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)
         private ElementRef(string id)
         {
         {
-            Id = id;
+            __internalId = id;
         }
         }
 
 
         internal static ElementRef CreateWithUniqueId()
         internal static ElementRef CreateWithUniqueId()
             => new ElementRef(CreateUniqueId());
             => new ElementRef(CreateUniqueId());
 
 
-        object ICustomArgSerializer.ToJsonPrimitive()
-        {
-            return new Dictionary<string, object>
-            {
-                { "_blazorElementRef", Id }
-            };
-        }
-
         static string CreateUniqueId()
         static string CreateUniqueId()
         {
         {
             if (PlatformInfo.IsWebAssembly)
             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.
         /// Gets or sets the value of the input. This should be used with two-way binding.
         /// </summary>
         /// </summary>
         /// <example>
         /// <example>
-        /// bind-Value="@model.PropertyName"
+        /// @bind-Value="@model.PropertyName"
         /// </example>
         /// </example>
         [Parameter] public T Value { get; private set; }
         [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:
     /* This is exactly equivalent to a .razor file containing:
      *
      *
      *    @inherits InputBase<bool>
      *    @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
      * 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.
      * 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:
     /* This is almost equivalent to a .razor file containing:
      *
      *
      *    @inherits InputBase<string>
      *    @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
      * 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.
      * 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:
     /* This is almost equivalent to a .razor file containing:
      *
      *
      *    @inherits InputBase<string>
      *    @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
      * 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.
      * 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.
 // 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.
 // 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.Net.Http;
 using System.Text;
 using System.Text;
+using System.Text.Json.Serialization;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 
 namespace Microsoft.AspNetCore.Components
 namespace Microsoft.AspNetCore.Components
@@ -23,8 +23,8 @@ namespace Microsoft.AspNetCore.Components
         /// <returns>The response parsed as an object of the generic type.</returns>
         /// <returns>The response parsed as an object of the generic type.</returns>
         public static async Task<T> GetJsonAsync<T>(this HttpClient httpClient, string requestUri)
         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>
         /// <summary>
@@ -95,7 +95,7 @@ namespace Microsoft.AspNetCore.Components
         /// <returns>The response parsed as an object of the generic type.</returns>
         /// <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)
         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)
             var response = await httpClient.SendAsync(new HttpRequestMessage(method, requestUri)
             {
             {
                 Content = new StringContent(requestJson, Encoding.UTF8, "application/json")
                 Content = new StringContent(requestJson, Encoding.UTF8, "application/json")
@@ -111,8 +111,8 @@ namespace Microsoft.AspNetCore.Components
             }
             }
             else
             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>
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
     <TargetFramework>netstandard2.0</TargetFramework>

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

@@ -1,10 +1,10 @@
 // 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.
 // 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;
 using System.Net;
 using System.Net;
 using System.Net.Http;
 using System.Net.Http;
+using System.Text.Json.Serialization;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using Xunit;
 using Xunit;
@@ -13,6 +13,11 @@ namespace Microsoft.AspNetCore.Components.Test
 {
 {
     public class HttpClientJsonExtensionsTest
     public class HttpClientJsonExtensionsTest
     {
     {
+        private readonly JsonSerializerOptions _jsonSerializerOptions = new JsonSerializerOptions
+        {
+            PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
+        };
+
         const string TestUri = "http://example.com/some/uri";
         const string TestUri = "http://example.com/some/uri";
 
 
         [Fact]
         [Fact]
@@ -69,7 +74,7 @@ namespace Microsoft.AspNetCore.Components.Test
             {
             {
                 Assert.Equal(httpMethod, req.Method);
                 Assert.Equal(httpMethod, req.Method);
                 Assert.Equal(TestUri, req.RequestUri.AbsoluteUri);
                 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
                 return CreateJsonResponse(HttpStatusCode.OK, new Person
                 {
                 {
                     Name = "Abc",
                     Name = "Abc",
@@ -101,7 +106,7 @@ namespace Microsoft.AspNetCore.Components.Test
             {
             {
                 Assert.Equal(httpMethod, req.Method);
                 Assert.Equal(httpMethod, req.Method);
                 Assert.Equal(TestUri, req.RequestUri.AbsoluteUri);
                 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);
                 return new HttpResponseMessage(HttpStatusCode.BadGateway);
             }));
             }));
 
 
@@ -115,7 +120,7 @@ namespace Microsoft.AspNetCore.Components.Test
         {
         {
             return new HttpResponseMessage(statusCode)
             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;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Threading.Tasks;
 using BasicTestApp;
 using BasicTestApp;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;

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

@@ -4,12 +4,12 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using System.Text.Json.Serialization;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using BasicTestApp;
 using BasicTestApp;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
 using Microsoft.AspNetCore.E2ETesting;
 using Microsoft.AspNetCore.E2ETesting;
-using Microsoft.JSInterop;
 using OpenQA.Selenium;
 using OpenQA.Selenium;
 using OpenQA.Selenium.Interactions;
 using OpenQA.Selenium.Interactions;
 using Xunit;
 using Xunit;
@@ -276,8 +276,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
         {
         {
             var rootBefore = new Node(null, "root", before);
             var rootBefore = new Node(null, "root", before);
             var rootAfter = new Node(null, "root", after);
             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 appElem = MountTestComponent<KeyCasesComponent>();
             var textbox = appElem.FindElement(By.TagName("textarea"));
             var textbox = appElem.FindElement(By.TagName("textarea"));
@@ -328,7 +328,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
         private void SetTextAreaValueFast(IWebElement textAreaElementWithId, string value)
         private void SetTextAreaValueFast(IWebElement textAreaElementWithId, string value)
         {
         {
             var javascript = (IJavaScriptExecutor)Browser;
             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
             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.
 // 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.
 // 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;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
 using Microsoft.AspNetCore.E2ETesting;
 using Microsoft.AspNetCore.E2ETesting;
 using OpenQA.Selenium;
 using OpenQA.Selenium;
-using System;
-using System.Linq;
-using System.Threading.Tasks;
 using Xunit;
 using Xunit;
 using Xunit.Abstractions;
 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.
 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)
 @foreach (var message in currentChildrenMessages)
 {
 {

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

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

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

@@ -1,9 +1,9 @@
-@using System.Threading.Tasks
+@using System.Threading.Tasks
 
 
 <div>
 <div>
     <span id="state">@state</span>
     <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>
 </div>
 
 
 @code
 @code

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

@@ -12,6 +12,12 @@ namespace BasicTestApp.AuthTest
 
 
         public string UserName { get; set; }
         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>
 <h2>Textbox</h2>
 <p>
 <p>
     Initially blank:
     Initially blank:
-    <input id="textbox-initially-blank" bind="textboxInitiallyBlankValue" />
+    <input id="textbox-initially-blank" @bind="textboxInitiallyBlankValue" />
     <span id="textbox-initially-blank-value">@textboxInitiallyBlankValue</span>
     <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>
 <p>
 <p>
     Initially populated:
     Initially populated:
-    <input id="textbox-initially-populated" bind="textboxInitiallyPopulatedValue" />
+    <input id="textbox-initially-populated" @bind="textboxInitiallyPopulatedValue" />
     <span id="textbox-initially-populated-value">@textboxInitiallyPopulatedValue</span>
     <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>
 </p>
 
 
 <h2>Numeric Textboxes</h2>
 <h2>Numeric Textboxes</h2>
 <p>
 <p>
     int:
     int:
-    <input id="textbox-int" bind="textboxIntValue" type="number" />
+    <input id="textbox-int" @bind="textboxIntValue" type="number" />
     <span id="textbox-int-value">@textboxIntValue</span>
     <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>
 <p>
 <p>
     Nullable int:
     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>
     <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>
 <p>
 <p>
     long:
     long:
-    <input id="textbox-long" bind="textboxLongValue" type="number" />
+    <input id="textbox-long" @bind="textboxLongValue" type="number" />
     <span id="textbox-long-value">@textboxLongValue</span>
     <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>
 <p>
 <p>
     Nullable long:
     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>
     <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>
 <p>
 <p>
     float:
     float:
-    <input id="textbox-float" bind="textboxFloatValue" type="number" />
+    <input id="textbox-float" @bind="textboxFloatValue" type="number" />
     <span id="textbox-float-value">@textboxFloatValue</span>
     <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>
 <p>
 <p>
     Nullable float:
     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>
     <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>
 <p>
 <p>
     double:
     double:
-    <input id="textbox-double" bind="textboxDoubleValue" type="number" />
+    <input id="textbox-double" @bind="textboxDoubleValue" type="number" />
     <span id="textbox-double-value">@textboxDoubleValue</span>
     <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>
 <p>
 <p>
     Nullable double:
     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>
     <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>
 <p>
 <p>
     decimal:
     decimal:
-    <input id="textbox-decimal" bind="textboxDecimalValue" type="number" />
+    <input id="textbox-decimal" @bind="textboxDecimalValue" type="number" />
     <span id="textbox-decimal-value">@textboxDecimalValue</span>
     <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>
 <p>
 <p>
     Nullable decimal:
     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>
     <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>
 <p>
 <p>
     decimal (invalid-input):
     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>
     <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>
 <p>
 <p>
     Nullable decimal (invalid-input):
     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>
     <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>
 </p>
 
 
 <h2>Text Area</h2>
 <h2>Text Area</h2>
 <p>
 <p>
     Initially blank:
     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>
     <span id="textarea-initially-blank-value">@textAreaInitiallyBlankValue</span>
 </p>
 </p>
 <p>
 <p>
     Initially populated:
     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>
     <span id="textarea-initially-populated-value">@textAreaInitiallyPopulatedValue</span>
 </p>
 </p>
 
 
 <h2>Checkbox</h2>
 <h2>Checkbox</h2>
 <p>
 <p>
     Initially null:
     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>
     <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>
 <p>
 <p>
     Initially unchecked:
     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>
     <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>
 <p>
 <p>
     Initially checked:
     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>
     <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>
 </p>
 
 
 <h2>Select</h2>
 <h2>Select</h2>
 <p>
 <p>
-    <select id="select-box" bind="@selectValue">
+    <select id="select-box" @bind="@selectValue">
         <option [email protected]>First choice</option>
         <option [email protected]>First choice</option>
         <option [email protected]>Second choice</option>
         <option [email protected]>Second choice</option>
         <option [email protected]>Third choice</option>
         <option [email protected]>Third choice</option>
@@ -134,7 +134,7 @@
         }
         }
     </select>
     </select>
     <span id="select-box-value">@selectValue</span>
     <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>
 </p>
 
 
 @code {
 @code {

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

@@ -13,7 +13,7 @@
     <strong id="receive-by-interface-num-renders">@numRenders</strong>
     <strong id="receive-by-interface-num-renders">@numRenders</strong>
 
 
     @* Prevent rerendering this component when the button is clicked. *@
     @* 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>
 </p>
 
 
 @code {
 @code {

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

@@ -16,9 +16,9 @@
     </CascadingValue>
     </CascadingValue>
 </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 {
 @code {
     CounterDTO counterState = new CounterDTO { NumClicks = 100 };
     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>
 <p>
     This shows how a component reference may be captured as a field value using 'ref' syntax.
     This shows how a component reference may be captured as a field value using 'ref' syntax.
@@ -11,15 +11,15 @@
 @if (_toggleCapturedComponentPresence)
 @if (_toggleCapturedComponentPresence)
 {
 {
     <div id="child-component">
     <div id="child-component">
-        <CounterComponent ref="_myChildCounter" />
+        <CounterComponent @ref="_myChildCounter" />
     </div>
     </div>
 }
 }
 
 
 <fieldset>
 <fieldset>
     <legend>External controls</legend>
     <legend>External controls</legend>
-    <button id="reset-child" onclick="@ResetChildCounter">Reset</button>
+    <button id="reset-child" @onclick="@ResetChildCounter">Reset</button>
     <label>
     <label>
-        <input id="toggle-child" type="checkbox" bind="_toggleCapturedComponentPresence" />
+        <input id="toggle-child" type="checkbox" @bind="_toggleCapturedComponentPresence" />
         Toggle counter presence
         Toggle counter presence
     </label>
     </label>
 </fieldset>
 </fieldset>

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

@@ -1,9 +1,9 @@
 <h1>Counter</h1>
 <h1>Counter</h1>
 <p>Current count: @currentCount</p>
 <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>
 <label>
-    <input type="checkbox" bind="@handleClicks" />
+    <input type="checkbox" @bind="@handleClicks" />
     Toggle click handler registration
     Toggle click handler registration
 </label>
 </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 -->
 <!-- Note: passing 'Message' parameter with lowercase name to show it's case insensitive -->
 <p>Current count: <MessageComponent [email protected]() /></p>
 <p>Current count: <MessageComponent [email protected]() /></p>
 
 
-<button onclick="@IncrementCount">Click me</button>
+<button @onclick="@IncrementCount">Click me</button>
 
 
 @code {
 @code {
     int currentCount = 0;
     int currentCount = 0;

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

@@ -10,10 +10,10 @@
     Result: <strong id="result">@result</strong>
     Result: <strong id="result">@result</strong>
 </p>
 </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 {
 @code {
     string result;
     string result;

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

@@ -17,11 +17,11 @@
 
 
 @if (_toggleCapturedElementPresence)
 @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>
 <label>
-    <input type="checkbox" bind="_toggleCapturedElementPresence" />
+    <input type="checkbox" @bind="_toggleCapturedElementPresence" />
     Toggle input
     Toggle input
 </label>
 </label>
 
 

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

@@ -1,7 +1,7 @@
 <h3 id="event-bubbling">Bubbling standard event</h3>
 <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>
     <button id="button-without-onclick" >Button without onclick handler</button>
 </div>
 </div>
 
 
@@ -15,14 +15,14 @@
 <h3>Non-bubbling standard event</h3>
 <h3>Non-bubbling standard event</h3>
 
 
 <!-- The new Action(...) is needed until we add support for onfocus -->
 <!-- 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>
     <p>Without onfocus: <input id="input-without-onfocus" /></p>
 </div>
 </div>
 
 
 <h3>Event log</h3>
 <h3>Event log</h3>
 
 
-<textarea readonly bind="@logValue"></textarea>
+<textarea readonly @bind="@logValue"></textarea>
 
 
 @code {
 @code {
     string logValue = string.Empty;
     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 {
 @code {
     [Parameter] int Count { get; set; }
     [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">
 <div id="unbound_lambda_child_content">
     <h3>Passing Child Content</h3>
     <h3>Passing Child Content</h3>
     <TemplatedControl>
     <TemplatedControl>
-        <button onclick="@(() => { })">Unbound Lambda Child Content</button>
+        <button @onclick="@(() => { })">Unbound Lambda Child Content</button>
     </TemplatedControl>
     </TemplatedControl>
 </div>
 </div>
 <div id="unbound_lambda_bind_to_component">
 <div id="unbound_lambda_bind_to_component">
     <h3>Passing Child Content</h3>
     <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>
 </div>
 
 
 @code {
 @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 {
 @code {
     [Parameter] EventCallback OnClick { get; set; }
     [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 {
 @code {
     [Parameter] EventCallback<UIMouseEventArgs> OnClick { get; set; }
     [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>
 <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>
 </form>
 
 
 <h2>Form without onsubmit handler</h2>
 <h2>Form without onsubmit handler</h2>
 
 
 <form action="about:blank">
 <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>
 </form>
 
 
 @if (didHandleEvent)
 @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>
 <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))
 @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>
 <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>
 <p>
 <p>
     Output: <span id="output">@message</span>
     Output: <span id="output">@message</span>
 </p>
 </p>
 <p>
 <p>
-    <button onclick="@Clear">Clear</button>
+    <button @onclick="@Clear">Clear</button>
 </p>
 </p>
 
 
 <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.
     cascade an EditContext to the components that integrate with it.
 </p>
 </p>
 
 
-<form onsubmit="@HandleSubmit">
+<form @onsubmit="@HandleSubmit">
     <p class="user-name">
     <p class="user-name">
         User name:
         User name:
-        <input bind="@person.UserName" class="@editContext.FieldClass(() => person.UserName)" />
+        <input @bind="@person.UserName" class="@editContext.FieldClass(() => person.UserName)" />
     </p>
     </p>
     <p class="accepts-terms">
     <p class="accepts-terms">
         Accept 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>
     </p>
 
 
     <button type="submit">Submit</button>
     <button type="submit">Submit</button>

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

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

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

@@ -5,30 +5,30 @@
     <DataAnnotationsValidator />
     <DataAnnotationsValidator />
 
 
     <p class="name">
     <p class="name">
-        Name: <InputText bind-Value="@person.Name" />
+        Name: <InputText @bind-Value="@person.Name" />
     </p>
     </p>
     <p class="email">
     <p class="email">
-        Email: <InputText bind-Value="@person.Email" />
+        Email: <InputText @bind-Value="@person.Email" />
         <ValidationMessage For="@(() => person.Email)" />
         <ValidationMessage For="@(() => person.Email)" />
     </p>
     </p>
     <p class="age">
     <p class="age">
-        Age (years): <InputNumber bind-Value="@person.AgeInYears" />
+        Age (years): <InputNumber @bind-Value="@person.AgeInYears" />
     </p>
     </p>
     <p class="height">
     <p class="height">
-        Height (optional): <InputNumber bind-Value="@person.OptionalHeight" />
+        Height (optional): <InputNumber @bind-Value="@person.OptionalHeight" />
     </p>
     </p>
     <p class="description">
     <p class="description">
-        Description: <InputTextArea bind-Value="@person.Description" />
+        Description: <InputTextArea @bind-Value="@person.Description" />
     </p>
     </p>
     <p class="renewal-date">
     <p class="renewal-date">
-        Renewal date: <InputDate bind-Value="@person.RenewalDate" />
+        Renewal date: <InputDate @bind-Value="@person.RenewalDate" />
     </p>
     </p>
     <p class="expiry-date">
     <p class="expiry-date">
-        Expiry date (optional): <InputDate bind-Value="@person.OptionalExpiryDate" />
+        Expiry date (optional): <InputDate @bind-Value="@person.OptionalExpiryDate" />
     </p>
     </p>
     <p class="ticket-class">
     <p class="ticket-class">
         Ticket class:
         Ticket class:
-        <InputSelect bind-Value="@person.TicketClass">
+        <InputSelect @bind-Value="@person.TicketClass">
             <option>(select)</option>
             <option>(select)</option>
             <option value="@TicketClass.Economy">Economy class</option>
             <option value="@TicketClass.Economy">Economy class</option>
             <option value="@TicketClass.Premium">Premium class</option>
             <option value="@TicketClass.Premium">Premium class</option>
@@ -37,10 +37,10 @@
         <span id="selected-ticket-class">@person.TicketClass</span>
         <span id="selected-ticket-class">@person.TicketClass</span>
     </p>
     </p>
     <p class="accepts-terms">
     <p class="accepts-terms">
-        Accepts terms: <InputCheckbox bind-Value="@person.AcceptsTerms" />
+        Accepts terms: <InputCheckbox @bind-Value="@person.AcceptsTerms" />
     </p>
     </p>
     <p class="is-evil">
     <p class="is-evil">
-        Is evil: <InputCheckbox bind-Value="@person.IsEvil" />
+        Is evil: <InputCheckbox @bind-Value="@person.IsEvil" />
     </p>
     </p>
 
 
     <button type="submit">Submit</button>
     <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
 @using System.Net.Http
 @inject HttpClient Http
 @inject HttpClient Http
 
 
@@ -6,10 +6,10 @@
 
 
 <p>
 <p>
     <div>URI:</div>
     <div>URI:</div>
-    <input id="request-uri" bind="@uri" size="60"/>
+    <input id="request-uri" @bind="@uri" size="60"/>
 </p>
 </p>
 
 
-<button id="send-request" onclick="@DoRequest">Request</button>
+<button id="send-request" @onclick="@DoRequest">Request</button>
 
 
 @if (responseStatusCode.HasValue)
 @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>
 <h1>Cookie counter</h1>
 <p>The server increments the count by one on each request.</p>
 <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)
 @if (!requestInProgress)
 {
 {

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

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

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

@@ -1,7 +1,7 @@
 @using Microsoft.AspNetCore.Components.RenderTree
 @using Microsoft.AspNetCore.Components.RenderTree
 <div id="test-selector">
 <div id="test-selector">
   Select test:
   Select test:
-    <select bind=@SelectedComponentTypeName>
+    <select @bind=@SelectedComponentTypeName>
         <option value="none">Choose...</option>
         <option value="none">Choose...</option>
         <option value="BasicTestApp.InteropComponent">Interop component</option>
         <option value="BasicTestApp.InteropComponent">Interop component</option>
         <option value="BasicTestApp.AsyncEventHandlerComponent">Async event handlers</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>
 <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 Microsoft.JSInterop
 @using BasicTestApp.InteropTest
 @using BasicTestApp.InteropTest
 @using System.Runtime.InteropServices
 @using System.Runtime.InteropServices
+@using System.Text.Json.Serialization
 @inject IJSRuntime JSRuntime
 @inject IJSRuntime JSRuntime
 
 
-<button id="btn-interop" onclick="@InvokeInteropAsync">Invoke interop!</button>
+<button id="btn-interop" @onclick="@InvokeInteropAsync">Invoke interop!</button>
 
 
 <div>
 <div>
     <h1>Invocations</h1>
     <h1>Invocations</h1>
@@ -52,7 +53,6 @@
 }
 }
 
 
 @code {
 @code {
-
     public IDictionary<string, string> ReturnValues { get; set; } = new Dictionary<string, string>();
     public IDictionary<string, string> ReturnValues { get; set; } = new Dictionary<string, string>();
     public IDictionary<string, string> Invocations { 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>(
         await JSRuntime.InvokeAsync<object>(
             "jsInteropTests.invokeDotNetInteropMethodsAsync",
             "jsInteropTests.invokeDotNetInteropMethodsAsync",
             shouldSupportSyncInterop,
             shouldSupportSyncInterop,
-            new DotNetObjectRef(testDTOTOPassByRef),
-            new DotNetObjectRef(instanceMethodsTarget));
+            DotNetObjectRef.Create(testDTOTOPassByRef),
+            DotNetObjectRef.Create(instanceMethodsTarget));
 
 
         if (shouldSupportSyncInterop)
         if (shouldSupportSyncInterop)
         {
         {
@@ -84,14 +84,14 @@
         }
         }
 
 
         Console.WriteLine("Showing interop invocation results.");
         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>();
         var invocations = new Dictionary<string, string>();
         foreach (var interopResult in JavaScriptInterop.Invocations)
         foreach (var interopResult in JavaScriptInterop.Invocations)
         {
         {
-            var interopResultValue = Json.Serialize(interopResult.Value);
+            var interopResultValue = JsonSerializer.ToString(interopResult.Value, TestJsonSerializerOptionsProvider.Options);
             invocations[interopResult.Key] = interopResultValue;
             invocations[interopResult.Key] = interopResultValue;
         }
         }
 
 
@@ -114,13 +114,15 @@
         }
         }
 
 
         var passDotNetObjectByRef = new TestDTO(99999);
         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["returnPrimitiveAsync"] = (await JSRuntime.InvokeAsync<int>("returnPrimitiveAsync")).ToString();
         ReturnValues["returnArrayAsync"] = string.Join(",", (await JSRuntime.InvokeAsync<Segment[]>("returnArrayAsync")).Select(x => x.Source).ToArray());
         ReturnValues["returnArrayAsync"] = string.Join(",", (await JSRuntime.InvokeAsync<Segment[]>("returnArrayAsync")).Select(x => x.Source).ToArray());
@@ -148,12 +150,30 @@
         }
         }
 
 
         var passDotNetObjectByRef = new TestDTO(99999);
         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>
 <p>
     Value set via JS interop call:
     Value set via JS interop call:
-    <input id="val-set-by-interop" ref="@myElem" />
+    <input id="val-set-by-interop" @ref="@myElem" />
 </p>
 </p>
 
 
 @code {
 @code {

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

@@ -4,6 +4,7 @@
 using Microsoft.JSInterop;
 using Microsoft.JSInterop;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Text.Json;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 
 namespace BasicTestApp.InteropTest
 namespace BasicTestApp.InteropTest
@@ -50,69 +51,69 @@ namespace BasicTestApp.InteropTest
         public static void VoidWithThreeParameters(
         public static void VoidWithThreeParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             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]
         [JSInvokable]
         public static void VoidWithFourParameters(
         public static void VoidWithFourParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4)
             int parameter4)
         {
         {
-            Invocations[nameof(VoidWithFourParameters)] = new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4 };
+            Invocations[nameof(VoidWithFourParameters)] = new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4 };
         }
         }
 
 
         [JSInvokable]
         [JSInvokable]
         public static void VoidWithFiveParameters(
         public static void VoidWithFiveParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5)
             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]
         [JSInvokable]
         public static void VoidWithSixParameters(
         public static void VoidWithSixParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6)
             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]
         [JSInvokable]
         public static void VoidWithSevenParameters(
         public static void VoidWithSevenParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6,
             float parameter6,
             List<double> parameter7)
             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]
         [JSInvokable]
         public static void VoidWithEightParameters(
         public static void VoidWithEightParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6,
             float parameter6,
             List<double> parameter7,
             List<double> parameter7,
             Segment parameter8)
             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]
         [JSInvokable]
@@ -139,67 +140,67 @@ namespace BasicTestApp.InteropTest
         public static object[] EchoThreeParameters(
         public static object[] EchoThreeParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3)
+            DotNetObjectRef<TestDTO> parameter3)
         {
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue() };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue() };
         }
         }
 
 
         [JSInvokable]
         [JSInvokable]
         public static object[] EchoFourParameters(
         public static object[] EchoFourParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4)
             int parameter4)
         {
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4 };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4 };
         }
         }
 
 
         [JSInvokable]
         [JSInvokable]
         public static object[] EchoFiveParameters(
         public static object[] EchoFiveParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5)
             long parameter5)
         {
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5 };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5 };
         }
         }
 
 
         [JSInvokable]
         [JSInvokable]
         public static object[] EchoSixParameters(ComplexParameter parameter1,
         public static object[] EchoSixParameters(ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6)
             float parameter6)
         {
         {
-            return new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4, parameter5, parameter6 };
+            return new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4, parameter5, parameter6 };
         }
         }
 
 
         [JSInvokable]
         [JSInvokable]
         public static object[] EchoSevenParameters(ComplexParameter parameter1,
         public static object[] EchoSevenParameters(ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6,
             float parameter6,
             List<double> parameter7)
             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]
         [JSInvokable]
         public static object[] EchoEightParameters(
         public static object[] EchoEightParameters(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6,
             float parameter6,
             List<double> parameter7,
             List<double> parameter7,
             Segment parameter8)
             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]
         [JSInvokable]
@@ -229,9 +230,9 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithThreeParametersAsync(
         public static Task VoidWithThreeParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             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;
             return Task.CompletedTask;
         }
         }
 
 
@@ -239,10 +240,10 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithFourParametersAsync(
         public static Task VoidWithFourParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4)
             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;
             return Task.CompletedTask;
         }
         }
 
 
@@ -250,11 +251,11 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithFiveParametersAsync(
         public static Task VoidWithFiveParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5)
             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;
             return Task.CompletedTask;
         }
         }
 
 
@@ -262,12 +263,12 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithSixParametersAsync(
         public static Task VoidWithSixParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6)
             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;
             return Task.CompletedTask;
         }
         }
 
 
@@ -275,13 +276,13 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithSevenParametersAsync(
         public static Task VoidWithSevenParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6,
             float parameter6,
             List<double> parameter7)
             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;
             return Task.CompletedTask;
         }
         }
 
 
@@ -289,14 +290,14 @@ namespace BasicTestApp.InteropTest
         public static Task VoidWithEightParametersAsync(
         public static Task VoidWithEightParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6,
             float parameter6,
             List<double> parameter7,
             List<double> parameter7,
             Segment parameter8)
             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;
             return Task.CompletedTask;
         }
         }
 
 
@@ -324,124 +325,142 @@ namespace BasicTestApp.InteropTest
         public static Task<object[]> EchoThreeParametersAsync(
         public static Task<object[]> EchoThreeParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             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]
         [JSInvokable]
         public static Task<object[]> EchoFourParametersAsync(
         public static Task<object[]> EchoFourParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4)
             int parameter4)
         {
         {
-            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.GetNonSerializedValue(), parameter4 });
+            return Task.FromResult(new object[] { parameter1, parameter2, parameter3.Value.GetNonSerializedValue(), parameter4 });
         }
         }
 
 
         [JSInvokable]
         [JSInvokable]
         public static Task<object[]> EchoFiveParametersAsync(
         public static Task<object[]> EchoFiveParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5)
             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]
         [JSInvokable]
         public static Task<object[]> EchoSixParametersAsync(ComplexParameter parameter1,
         public static Task<object[]> EchoSixParametersAsync(ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6)
             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]
         [JSInvokable]
         public static Task<object[]> EchoSevenParametersAsync(
         public static Task<object[]> EchoSevenParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6,
             float parameter6,
             List<double> parameter7)
             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]
         [JSInvokable]
         public static Task<object[]> EchoEightParametersAsync(
         public static Task<object[]> EchoEightParametersAsync(
             ComplexParameter parameter1,
             ComplexParameter parameter1,
             byte parameter2,
             byte parameter2,
-            TestDTO parameter3,
+            DotNetObjectRef<TestDTO> parameter3,
             int parameter4,
             int parameter4,
             long parameter5,
             long parameter5,
             float parameter6,
             float parameter6,
             List<double> parameter7,
             List<double> parameter7,
             Segment parameter8)
             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]
         [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]
         [JSInvokable]
-        public static async Task<Dictionary<string, object>> ReturnDotNetObjectByRefAsync()
+        public static async Task<Dictionary<string, DotNetObjectRef<TestDTO>>> ReturnDotNetObjectByRefAsync()
         {
         {
             await Task.Yield();
             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]
         [JSInvokable]
-        public static int ExtractNonSerializedValue(TestDTO objectByRef)
+        public static int ExtractNonSerializedValue(DotNetObjectRef<TestDTO> objectByRef)
         {
         {
-            return objectByRef.GetNonSerializedValue();
+            return objectByRef.Value.GetNonSerializedValue();
         }
         }
 
 
         [JSInvokable]
         [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)
             // 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
             // and by ref (the incoming dtoByRef), plus that we can return values marshalled as
             // JSON (the returned dictionary) and by ref (the outgoingByRef value)
             // 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]
         [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
             // and by ref (the incoming dtoByRef), plus that we can return values marshalled as
             // JSON (the returned dictionary) and by ref (the outgoingByRef value)
             // JSON (the returned dictionary) and by ref (the outgoingByRef value)
             await Task.Yield();
             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
 namespace BasicTestApp.InteropTest
 {
 {
-    public struct Segment
+    public class Segment
     {
     {
         public string Source { get; set; }
         public string Source { get; set; }
         public int Start { 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="key-cases">
     <div class="model">
     <div class="model">
         <p>Model</p>
         <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>
     <div class="render-output">
     <div class="render-output">
         <p>Output</p>
         <p>Output</p>
@@ -61,7 +61,7 @@
     void Update()
     void Update()
     {
     {
         renderContext.UpdateCount++;
         renderContext.UpdateCount++;
-        parsedRootNode = Json.Deserialize<KeyCasesTreeNode.Node>(modelJson);
+        parsedRootNode = JsonSerializer.Parse<KeyCasesTreeNode.Node>(modelJson, TestJsonSerializerOptionsProvider.Options);
     }
     }
 
 
     public class RenderContext
     public class RenderContext

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

@@ -21,7 +21,7 @@
             {
             {
                 if (child.Key != null)
                 if (child.Key != null)
                 {
                 {
-                    <KeyCasesTreeNode key="@child.Key" Data="@child" />
+                    <KeyCasesTreeNode @key="@child.Key" Data="@child" />
                 }
                 }
                 else
                 else
                 {
                 {
@@ -35,7 +35,7 @@
 @code {
 @code {
     public class Node
     public class Node
     {
     {
-        public object Key { get; set; }
+        public string Key { get; set; }
         public string Label { get; set; }
         public string Label { get; set; }
         public List<Node> Children { 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>
 <ul>
     @foreach (var key in keysPressed)
     @foreach (var key in keysPressed)
     {
     {
@@ -13,7 +13,7 @@ Type here: <input onkeypress=@OnKeyPressed />
 
 
     void OnKeyPressed(UIKeyboardEventArgs eventArgs)
     void OnKeyPressed(UIKeyboardEventArgs eventArgs)
     {
     {
-        Console.WriteLine(Json.Serialize(eventArgs));
+        Console.WriteLine(JsonSerializer.ToString(eventArgs));
         keysPressed.Add(eventArgs.Key);
         keysPressed.Add(eventArgs.Key);
     }
     }
 }
 }

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

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

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

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

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

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

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

@@ -12,7 +12,7 @@
 <p>
 <p>
     Clicks:
     Clicks:
     <strong id="count">@count</strong>
     <strong id="count">@count</strong>
-    <button id="increment-count" onclick="@(() => count++)">Click me</button>
+    <button id="increment-count" @onclick="@(() => count++)">Click me</button>
 </p>
 </p>
 
 
 @code {
 @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 {
 @code {
     private int valueToSupply = 100;
     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>
     <p>Fragment will be toggled below</p>
 
 
     @if (showFragment)
     @if (showFragment)
@@ -6,7 +6,7 @@
         @ExampleFragment
         @ExampleFragment
     }
     }
 
 
-    <button onclick=@(_ => showFragment = !showFragment)>Toggle</button>
+    <button @onclick=@(_ => showFragment = !showFragment)>Toggle</button>
     <p>The end</p>
     <p>The end</p>
 </div>
 </div>
 
 

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

@@ -11,9 +11,9 @@
 <ul class="incomplete-items">
 <ul class="incomplete-items">
     @foreach (var item in todoItems.Where(item => !item.IsDone))
     @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>
         </li>
     }
     }
 </ul>
 </ul>
@@ -23,9 +23,9 @@
 <ul class="complete-items">
 <ul class="complete-items">
     @foreach (var item in todoItems.Where(item => item.IsDone))
     @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>
         </li>
     }
     }
 </ul>
 </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>
     <li><NavLink href="/subdir/WithParameters/Name/Abc/LastName/McDef">With more parameters</NavLink></li>
 </ul>
 </ul>
 
 
-<button id="do-navigation" onclick=@(x => uriHelper.NavigateTo("Other"))>
+<button id="do-navigation" @onclick=@(x => uriHelper.NavigateTo("Other"))>
     Programmatic navigation
     Programmatic navigation
 </button>
 </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
     Programmatic navigation with force-load
 </button>
 </button>
 
 

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

@@ -1,7 +1,7 @@
 @inject IUriHelper UriHelper
 @inject IUriHelper UriHelper
 @inject Microsoft.JSInterop.IJSRuntime JSRuntime
 @inject Microsoft.JSInterop.IJSRuntime JSRuntime
 
 
-<button onclick="@Navigate">Navigate</button>
+<button @onclick="@Navigate">Navigate</button>
 
 
 <span id="test-info">@UrlLocation</span>
 <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" />
     <circle cx="125" cy="125" r=@radius fill="red" stroke="black" stroke-width="3" />
 </svg>
 </svg>
 
 
-<button onclick=@(() => { radius *= 2; })>Click me</button>
+<button @onclick=@(() => { radius *= 2; })>Click me</button>
 
 
 @code {
 @code {
     int radius = 10;
     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 System.Collections.Generic
-@using Microsoft.JSInterop
+@using System.Text.Json.Serialization
 
 
 <div>
 <div>
     <h2>Touch position</h2>
     <h2>Touch position</h2>
@@ -7,17 +7,17 @@
         Output: <span id="output">@message</span>
         Output: <span id="output">@message</span>
     </p>
     </p>
     <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
             TOUCH ME
         </button>
         </button>
     </p>
     </p>
     <p>
     <p>
-        <button onclick="@Clear">Clear</button>
+        <button @onclick="@Clear">Clear</button>
     </p>
     </p>
 </div>
 </div>
 
 
@@ -28,7 +28,7 @@
     void OnTouch(UITouchEventArgs e)
     void OnTouch(UITouchEventArgs e)
     {
     {
         message += e.Type;
         message += e.Type;
-        Console.WriteLine(Json.Serialize(e));
+        Console.WriteLine(JsonSerializer.ToString(e));
         StateHasChanged();
         StateHasChanged();
     }
     }
 
 

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

@@ -1,10 +1,10 @@
-@page "/counter"
+@page "/counter"
 
 
 <h1>Counter</h1>
 <h1>Counter</h1>
 
 
 <p>Current count: @currentCount</p>
 <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 {
 @code {
     int currentCount = 0;
     int currentCount = 0;

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

@@ -7,7 +7,7 @@
 }
 }
 else
 else
 {
 {
-    <button id="cause-error" onclick="@CauseError">Cause error</button>
+    <button id="cause-error" @onclick="@CauseError">Cause error</button>
 }
 }
 @code {
 @code {
     public bool ShouldCauseError { get; set; }
     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">
 <div class="top-row pl-4 navbar navbar-dark">
     <a class="navbar-brand" href="">Razor Components</a>
     <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>
         <span class="navbar-toggler-icon"></span>
     </button>
     </button>
 </div>
 </div>
 
 
-<div class=@(collapseNavMenu ? "collapse" : null) onclick=@ToggleNavMenu>
+<div class=@(collapseNavMenu ? "collapse" : null) @onclick=@ToggleNavMenu>
     <ul class="nav flex-column">
     <ul class="nav flex-column">
         <li class="nav-item px-3">
         <li class="nav-item px-3">
             <NavLink class="nav-link" href="" Match=NavLinkMatch.All>
             <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
     This component, including the CSS and image required to produce its
     elegant styling, is in an external NuGet package.
     elegant styling, is in an external NuGet package.
-    <button onclick="@ChangeLabel">@buttonLabel </button>
+    <button @onclick="@ChangeLabel">@buttonLabel </button>
 </div>
 </div>
 
 
 @code {
 @code {

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

@@ -25,7 +25,7 @@ namespace Components.TestServer.Controllers
                 UserName = User.Identity.Name,
                 UserName = User.Identity.Name,
                 ExposedClaims = User.Claims
                 ExposedClaims = User.Claims
                     .Where(c => c.Type == "test-claim" || IsExposedRole(c))
                     .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
             Assert.Equal(new[] { null, null, "value" }, result.Values);
             Assert.Equal(new[] { null, null, "value" }, result.Values);
-            Assert.Equal(",,value", (string)result);
         }
         }
 
 
         [Fact]
         [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[] { "test" }, "Bonjour HtmlEncode[[test]] {{ }" };
                 yield return new object[] { "Bonjour {{0}}", new object[] { "{0}" }, "Bonjour {0}" };
                 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[[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 {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[] { "}} Bonjour", new object[] { }, "} Bonjour" };
                 yield return new object[] { "{{ {0} }}", new object[] { 10 }, "{ HtmlEncode[[10]] }" };
                 yield return new object[] { "{{ {0} }}", new object[] { 10 }, "{ HtmlEncode[[10]] }" };
                 yield return new object[] {
                 yield return new object[] {
                     "Bonjour {{{0:x}}} {1:yyyy}",
                     "Bonjour {{{0:x}}} {1:yyyy}",
                     new object[] { 10, new DateTime(2015, 10, 10) },
                     new object[] { 10, new DateTime(2015, 10, 10) },
-                    "Bonjour {HtmlEncode[[x}]] HtmlEncode[[2015]]"
+                    "Bonjour {HtmlEncode[[a]]} HtmlEncode[[2015]]"
                 };
                 };
                 yield return new object[] {
                 yield return new object[] {
                     "Bonjour {{{0:x}}} Bienvenue {{1:yyyy}}",
                     "Bonjour {{{0:x}}} Bienvenue {{1:yyyy}}",
                     new object[] { 10, new DateTime(2015, 10, 10) },
                     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
                 yield return new object[] { // padding happens after encoding
                     "Bonjour {0,6} Bienvenue {{1:yyyy}}",
                     "Bonjour {0,6} Bienvenue {{1:yyyy}}",
@@ -86,11 +86,11 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
                     new object[] { 10, new DateTime(2015, 10, 10) },
                     new object[] { 10, new DateTime(2015, 10, 10) },
                     "Bonjour     HtmlEncode[[10]] Bienvenue {1:yyyy}"
                     "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[] {
                 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 },
                     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.");
             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.");
-        }
     }
     }
 }
 }

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác