[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)
This commit is contained in:
dotnet-maestro[bot] 2019-05-30 20:38:52 -07:00 committed by Brennan
parent 04bf1bf32e
commit dd07fa09d2
103 changed files with 915 additions and 706 deletions

View File

@ -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>

View File

@ -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> <MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview6-27730-01</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreAppPackageVersion>3.0.0-preview6-27723-08</MicrosoftNETCoreAppPackageVersion> <MicrosoftNETCoreAppPackageVersion>3.0.0-preview6-27730-01</MicrosoftNETCoreAppPackageVersion>
<NETStandardLibraryRefPackageVersion>2.1.0-preview6-27723-08</NETStandardLibraryRefPackageVersion> <NETStandardLibraryRefPackageVersion>2.1.0-preview6-27730-01</NETStandardLibraryRefPackageVersion>
<!-- Packages from dotnet/corefx --> <!-- Packages from dotnet/corefx -->
<MicrosoftCSharpPackageVersion>4.6.0-preview6.19273.5</MicrosoftCSharpPackageVersion> <MicrosoftCSharpPackageVersion>4.6.0-preview6.19279.8</MicrosoftCSharpPackageVersion>
<MicrosoftWin32RegistryPackageVersion>4.6.0-preview6.19273.5</MicrosoftWin32RegistryPackageVersion> <MicrosoftWin32RegistryPackageVersion>4.6.0-preview6.19279.8</MicrosoftWin32RegistryPackageVersion>
<SystemComponentModelAnnotationsPackageVersion>4.6.0-preview6.19273.5</SystemComponentModelAnnotationsPackageVersion> <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> <SystemDiagnosticsEventLogPackageVersion>4.6.0-preview6.19279.8</SystemDiagnosticsEventLogPackageVersion>
<SystemIOPipelinesPackageVersion>4.6.0-preview6.19273.5</SystemIOPipelinesPackageVersion> <SystemIOPipelinesPackageVersion>4.6.0-preview6.19279.8</SystemIOPipelinesPackageVersion>
<SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview6.19273.5</SystemNetHttpWinHttpHandlerPackageVersion> <SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview6.19279.8</SystemNetHttpWinHttpHandlerPackageVersion>
<SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview6.19273.5</SystemNetWebSocketsWebSocketProtocolPackageVersion> <SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview6.19279.8</SystemNetWebSocketsWebSocketProtocolPackageVersion>
<SystemReflectionMetadataPackageVersion>1.7.0-preview6.19273.5</SystemReflectionMetadataPackageVersion> <SystemReflectionMetadataPackageVersion>1.7.0-preview6.19279.8</SystemReflectionMetadataPackageVersion>
<SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview6.19273.5</SystemRuntimeCompilerServicesUnsafePackageVersion> <SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview6.19279.8</SystemRuntimeCompilerServicesUnsafePackageVersion>
<SystemSecurityCryptographyCngPackageVersion>4.6.0-preview6.19273.5</SystemSecurityCryptographyCngPackageVersion> <SystemSecurityCryptographyCngPackageVersion>4.6.0-preview6.19279.8</SystemSecurityCryptographyCngPackageVersion>
<SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview6.19273.5</SystemSecurityCryptographyPkcsPackageVersion> <SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview6.19279.8</SystemSecurityCryptographyPkcsPackageVersion>
<SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview6.19273.5</SystemSecurityCryptographyXmlPackageVersion> <SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview6.19279.8</SystemSecurityCryptographyXmlPackageVersion>
<SystemSecurityPermissionsPackageVersion>4.6.0-preview6.19273.5</SystemSecurityPermissionsPackageVersion> <SystemSecurityPermissionsPackageVersion>4.6.0-preview6.19279.8</SystemSecurityPermissionsPackageVersion>
<SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview6.19273.5</SystemSecurityPrincipalWindowsPackageVersion> <SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview6.19279.8</SystemSecurityPrincipalWindowsPackageVersion>
<SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview6.19273.5</SystemServiceProcessServiceControllerPackageVersion> <SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview6.19279.8</SystemServiceProcessServiceControllerPackageVersion>
<SystemTextEncodingsWebPackageVersion>4.6.0-preview6.19273.5</SystemTextEncodingsWebPackageVersion> <SystemTextEncodingsWebPackageVersion>4.6.0-preview6.19279.8</SystemTextEncodingsWebPackageVersion>
<SystemTextJsonPackageVersion>4.6.0-preview6.19273.5</SystemTextJsonPackageVersion> <SystemTextJsonPackageVersion>4.6.0-preview6.19279.8</SystemTextJsonPackageVersion>
<SystemThreadingChannelsPackageVersion>4.6.0-preview6.19273.5</SystemThreadingChannelsPackageVersion> <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> <InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview6.19280.1</InternalAspNetCoreAnalyzersPackageVersion>
<MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview6.19274.1</MicrosoftAspNetCoreAnalyzerTestingPackageVersion> <MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview6.19280.1</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
<MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion> <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
<MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview6.19274.1</MicrosoftAspNetCoreTestingPackageVersion> <MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview6.19280.1</MicrosoftAspNetCoreTestingPackageVersion>
<MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion> <MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
<MicrosoftExtensionsCachingAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCachingAbstractionsPackageVersion> <MicrosoftExtensionsCachingAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCachingAbstractionsPackageVersion>
<MicrosoftExtensionsCachingMemoryPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCachingMemoryPackageVersion> <MicrosoftExtensionsCachingMemoryPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCachingMemoryPackageVersion>
<MicrosoftExtensionsCachingSqlServerPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCachingSqlServerPackageVersion> <MicrosoftExtensionsCachingSqlServerPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCachingSqlServerPackageVersion>
<MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion> <MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>
<MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion> <MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationAbstractionsPackageVersion> <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
<MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion> <MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
<MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationBinderPackageVersion> <MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationBinderPackageVersion>
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationCommandLinePackageVersion> <MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion> <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion> <MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
<MicrosoftExtensionsConfigurationIniPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationIniPackageVersion> <MicrosoftExtensionsConfigurationIniPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationIniPackageVersion>
<MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationJsonPackageVersion> <MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationJsonPackageVersion>
<MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion> <MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
<MicrosoftExtensionsConfigurationPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationPackageVersion> <MicrosoftExtensionsConfigurationPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationPackageVersion>
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationUserSecretsPackageVersion> <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
<MicrosoftExtensionsConfigurationXmlPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsConfigurationXmlPackageVersion> <MicrosoftExtensionsConfigurationXmlPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsConfigurationXmlPackageVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion> <MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
<MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDependencyInjectionPackageVersion> <MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDependencyInjectionPackageVersion>
<MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDiagnosticAdapterPackageVersion> <MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
<MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion> <MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>
<MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion> <MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion> <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
<MicrosoftExtensionsFileProvidersCompositePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileProvidersCompositePackageVersion> <MicrosoftExtensionsFileProvidersCompositePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileProvidersCompositePackageVersion>
<MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion> <MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileProvidersPhysicalPackageVersion> <MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsFileSystemGlobbingPackageVersion> <MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
<MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion> <MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
<MicrosoftExtensionsHostingAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHostingAbstractionsPackageVersion> <MicrosoftExtensionsHostingAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHostingAbstractionsPackageVersion>
<MicrosoftExtensionsHostingPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHostingPackageVersion> <MicrosoftExtensionsHostingPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHostingPackageVersion>
<MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion> <MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
<MicrosoftExtensionsHttpPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsHttpPackageVersion> <MicrosoftExtensionsHttpPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsHttpPackageVersion>
<MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLocalizationAbstractionsPackageVersion> <MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLocalizationAbstractionsPackageVersion>
<MicrosoftExtensionsLocalizationPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLocalizationPackageVersion> <MicrosoftExtensionsLocalizationPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLocalizationPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion> <MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion> <MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
<MicrosoftExtensionsLoggingConfigurationPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingConfigurationPackageVersion> <MicrosoftExtensionsLoggingConfigurationPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingConfigurationPackageVersion>
<MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingConsolePackageVersion> <MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingConsolePackageVersion>
<MicrosoftExtensionsLoggingDebugPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingDebugPackageVersion> <MicrosoftExtensionsLoggingDebugPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingDebugPackageVersion>
<MicrosoftExtensionsLoggingEventSourcePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingEventSourcePackageVersion> <MicrosoftExtensionsLoggingEventSourcePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingEventSourcePackageVersion>
<MicrosoftExtensionsLoggingEventLogPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingEventLogPackageVersion> <MicrosoftExtensionsLoggingEventLogPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingEventLogPackageVersion>
<MicrosoftExtensionsLoggingPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingPackageVersion> <MicrosoftExtensionsLoggingPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingPackageVersion>
<MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingTestingPackageVersion> <MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingTestingPackageVersion>
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsLoggingTraceSourcePackageVersion> <MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
<MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsObjectPoolPackageVersion> <MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsObjectPoolPackageVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion> <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion> <MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
<MicrosoftExtensionsOptionsPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsOptionsPackageVersion> <MicrosoftExtensionsOptionsPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsOptionsPackageVersion>
<MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion> <MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsPrimitivesPackageVersion> <MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion> <MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
<MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsValueStopwatchSourcesPackageVersion> <MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
<MicrosoftExtensionsWebEncodersPackageVersion>3.0.0-preview6.19274.1</MicrosoftExtensionsWebEncodersPackageVersion> <MicrosoftExtensionsWebEncodersPackageVersion>3.0.0-preview6.19280.1</MicrosoftExtensionsWebEncodersPackageVersion>
<MicrosoftInternalExtensionsRefsPackageVersion>3.0.0-preview6.19274.1</MicrosoftInternalExtensionsRefsPackageVersion> <MicrosoftInternalExtensionsRefsPackageVersion>3.0.0-preview6.19280.1</MicrosoftInternalExtensionsRefsPackageVersion>
<MicrosoftJSInteropPackageVersion>3.0.0-preview6.19274.1</MicrosoftJSInteropPackageVersion> <MicrosoftJSInteropPackageVersion>3.0.0-preview6.19280.1</MicrosoftJSInteropPackageVersion>
<MonoWebAssemblyInteropPackageVersion>3.0.0-preview6.19274.1</MonoWebAssemblyInteropPackageVersion> <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> <MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.0.0-preview6.19280.2</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
<MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview6.19274.4</MicrosoftAspNetCoreRazorLanguagePackageVersion> <MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview6.19280.2</MicrosoftAspNetCoreRazorLanguagePackageVersion>
<MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview6.19274.4</MicrosoftCodeAnalysisRazorPackageVersion> <MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview6.19280.2</MicrosoftCodeAnalysisRazorPackageVersion>
<MicrosoftNETSdkRazorPackageVersion>3.0.0-preview6.19274.4</MicrosoftNETSdkRazorPackageVersion> <MicrosoftNETSdkRazorPackageVersion>3.0.0-preview6.19280.2</MicrosoftNETSdkRazorPackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- <!--

View File

@ -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) private static IReadOnlyList<Header> GetHeaders(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 var requestHeaders = request.Headers.AsEnumerable();
select new[] { header.Key, headerValue }).ToArray(); 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; }
}
} }
} }

View File

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

View File

@ -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)

View File

@ -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>

View File

@ -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"";
}"); }");

View File

@ -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"";

View File

@ -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; }

View File

@ -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)};
}}"); }}");

View File

@ -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:"); var contentNotFound = expected.Except(actual);
_output.WriteLine(string.Join(",", actual.Except(expected))); 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();
}
}
}
} }
} }

View File

@ -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;

View File

@ -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">

View File

@ -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;

View File

@ -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">

View File

@ -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-small" @onclick=@SerializeSmall>Serialize (small)</button>
<button id="serialize-large" onclick=@SerializeLarge>Serialize (large)</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-small" @onclick=@DeserializeSmall>Deserialize (small)</button>
<button id="deserialize-large" onclick=@DeserializeLarge>Deserialize (large)</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); smallOrgChartJson = JsonSerializer.ToString(smallOrgChart);
largeOrgChartJson = Microsoft.JSInterop.Json.Serialize(largeOrgChart); 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);
} }

View File

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

View File

@ -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;

View File

@ -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>

Binary file not shown.

View File

@ -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') { if (value && typeof value === 'object' && value.hasOwnProperty(dotNetObjectRefKey)) {
var match = value.match(dotNetObjectValueFormat); return new DotNetObject(value.__dotNetObject);
if (match) {
return new DotNetObject(parseInt(match[1]));
}
} }
// 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');

View File

@ -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') { if (value && typeof value === 'object' && value.hasOwnProperty(dotNetObjectRefKey)) {
var match = value.match(dotNetObjectValueFormat); return new DotNetObject(value.__dotNetObject);
if (match) {
return new DotNetObject(parseInt(match[1]));
}
} }
// 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');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -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",

View File

@ -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]);

View File

@ -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;
} }

View File

@ -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": "@dotnet/jsinterop@3.0.0-preview6.19280.1":
version "0.1.1" version "3.0.0-preview6.19280.1"
resolved "https://registry.yarnpkg.com/@dotnet/jsinterop/-/jsinterop-0.1.1.tgz#f54ba865f241596ea3744f28634454a160476399" resolved "https://dotnet.myget.org/F/aspnetcore-dev/npm/@dotnet/jsinterop/-/@dotnet/jsinterop-3.0.0-preview6.19280.1.tgz#4c991132f33157de93bc3b6db93cffc9e964b241"
integrity sha512-/Y5f3rtzZ85y8ukBds6IHRgnu7zwlAxe/JhaqN8mvj/JPDA4AtfdNqjJBZuZJxLrP0k6+q4owx/DS7LyZWccFQ== integrity sha1-TJkRMvMxV96TvDttuTz/yelkskE=
"@types/emscripten@0.0.31": "@types/emscripten@0.0.31":
version "0.0.31" version "0.0.31"

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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")]

View File

@ -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 /// <summary>
internal string Id { get; } /// 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)

View File

@ -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; }

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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); var stringContent = await httpClient.GetStringAsync(requestUri);
return Json.Deserialize<T>(responseJson); 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(); var stringContent = await response.Content.ReadAsStringAsync();
return Json.Deserialize<T>(responseJson); return JsonSerializer.Parse<T>(stringContent, JsonSerializerOptionsProvider.Options);
} }
} }

View File

@ -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
};
}
}

View File

@ -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>

View File

@ -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))
}; };
} }

View File

@ -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,
};
}
}

View File

@ -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;

View File

@ -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 jsonBefore = JsonSerializer.ToString(rootBefore, TestJsonSerializerOptionsProvider.Options);
var jsonAfter = Json.Serialize(rootAfter); 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
} }

View File

@ -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;

View File

@ -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="addChild" @onclick="@AddChild">Add</button>
<button class="removeChild" onclick="@RemoveChild">Remove</button> <button class="removeChild" @onclick="@RemoveChild">Remove</button>
@foreach (var message in currentChildrenMessages) @foreach (var message in currentChildrenMessages)
{ {

View File

@ -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;

View File

@ -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="tick" @onclick="@Tick">Tick</button>
<button id="tock" onclick="@Tock">Tock</button> <button id="tock" @onclick="@Tock">Tock</button>
</div> </div>
@code @code

View File

@ -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; }
} }
} }

View File

@ -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 /> <input id="textbox-initially-blank-mirror" @bind="textboxInitiallyBlankValue" readonly />
<button id="textbox-initially-blank-setnull" onclick="@(() => { textboxInitiallyBlankValue = null; })">Set null</button> <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 /> <input id="textbox-initially-populated-mirror" @bind="textboxInitiallyPopulatedValue" readonly />
<button id="textbox-initially-populated-setnull" onclick="@(() => { textboxInitiallyPopulatedValue = null; })">Set null</button> <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 value=@SelectableValue.First>First choice</option> <option value=@SelectableValue.First>First choice</option>
<option value=@SelectableValue.Second>Second choice</option> <option value=@SelectableValue.Second>Second choice</option>
<option value=@SelectableValue.Third>Third choice</option> <option value=@SelectableValue.Third>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 {

View File

@ -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" onclick=@Ancestor.DecrementCount>Decrement</button> <button id="decrement-count" @onclick=@Ancestor.DecrementCount>Decrement</button>
</p> </p>
@code { @code {

View File

@ -16,9 +16,9 @@
</CascadingValue> </CascadingValue>
</CascadingValue> </CascadingValue>
<p><button id="increment-count" onclick="@((args) => counterState.IncrementCount())">Increment</button></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-1" @bind=currentFlagValue1 /> Flag 1</label></p>
<p><label><input type="checkbox" id="toggle-flag-2" bind=currentFlagValue2 /> Flag 2</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 };

View File

@ -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>

View File

@ -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>

View File

@ -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 message=@currentCount.ToString() /></p> <p>Current count: <MessageComponent message=@currentCount.ToString() /></p>
<button onclick="@IncrementCount">Click me</button> <button @onclick="@IncrementCount">Click me</button>
@code { @code {
int currentCount = 0; int currentCount = 0;

View File

@ -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-without-dispatch" @onclick=@RunWithoutDispatch>Run without dispatch</button>
<button id="run-with-dispatch" onclick=@RunWithDispatch>Run with 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-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-async-with-dispatch" @onclick=@RunAsyncWorkWithDispatch>Run async work with dispatch</button>
@code { @code {
string result; string result;

View File

@ -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>

View File

@ -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"))"> <div @onclick="@(() => LogEvent("parent onclick"))">
<button id="button-with-onclick" onclick="@(() => LogEvent("target onclick"))">Button with onclick handler</button> <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")))"> <div @onfocus="@(new Action(() => LogEvent("parent onfocus")))">
<p>With onfocus: <input id="input-with-onfocus" onfocus="@(new Action(() => LogEvent("target onfocus")))" /></p> <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;

View File

@ -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; }

View File

@ -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 {

View File

@ -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; }

View File

@ -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; }

View File

@ -13,14 +13,14 @@
<h2>Form with onsubmit handler</h2> <h2>Form with onsubmit handler</h2>
<form action="about:blank" onsubmit=@(() => { })> <form action="about:blank" @onsubmit=@(() => { })>
<button id="form-1-button" onclick=@HandleClick>Click me</button> <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)

View File

@ -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))
{ {

View File

@ -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"> <p @onfocusin="@OnFocusIn" @onfocusout="@OnFocusOut">
Input: <input id="input" type="text" onfocus="@OnFocus" onblur="@OnBlur"/> 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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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)
{ {

View File

@ -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> <p>TestServer base URL: <input @bind="@testServerBaseUrl" /></p>
<button id="delete" onclick="@DeleteCookie">Delete cookie</button> <button id="delete" @onclick="@DeleteCookie">Delete cookie</button>
<button id="increment" onclick="@GetAndIncrementCounter">Get and increment current value</button> <button id="increment" @onclick="@GetAndIncrementCounter">Get and increment current value</button>
@if (!requestInProgress) @if (!requestInProgress)
{ {

View File

@ -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" /> Name: <input @bind="@header.Name" />
Value: <input bind="@header.Value" /> Value: <input @bind="@header.Value" />
[<a href="#" onclick="@(e => RemoveHeader(header))">remove</a>] [<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)
{ {

View File

@ -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>

View File

@ -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>

View File

@ -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), DotNetObjectRef.Create(testDTOTOPassByRef),
new DotNetObjectRef(instanceMethodsTarget)); 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" }, StringValue = "My string",
{ "testDto", new DotNetObjectRef(passDotNetObjectByRef) }, TestDto = DotNetObjectRef.Create(passDotNetObjectByRef),
}; };
ReceiveDotNetObjectByRefAsyncResult = await JSRuntime.InvokeAsync<Dictionary<string, object>>("receiveDotNetObjectByRefAsync", passDotNetObjectByRefArg); var result = await JSRuntime.InvokeAsync<ReceiveDotNetObjectByRefArgs>("receiveDotNetObjectByRefAsync", passDotNetObjectByRefArg);
ReceiveDotNetObjectByRefAsyncResult["testDto"] = ReceiveDotNetObjectByRefAsyncResult["testDto"] == passDotNetObjectByRef ? "Same" : "Different"; 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" }, StringValue = "My string",
{ "testDto", new DotNetObjectRef(passDotNetObjectByRef) }, TestDto = DotNetObjectRef.Create(passDotNetObjectByRef),
}; };
ReceiveDotNetObjectByRefResult = inProcRuntime.Invoke<Dictionary<string, object>>("receiveDotNetObjectByRef", passDotNetObjectByRefArg); var result = inProcRuntime.Invoke<ReceiveDotNetObjectByRefArgs>("receiveDotNetObjectByRef", passDotNetObjectByRefArg);
ReceiveDotNetObjectByRefResult["testDto"] = ReceiveDotNetObjectByRefResult["testDto"] == passDotNetObjectByRef ? "Same" : "Different"; 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; }
} }
} }

View File

@ -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 {

View File

@ -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 }, ThisTypeName = GetType().Name,
{ "stringValueUpper", ((string)dict["stringValue"]).ToUpperInvariant() }, StringValueUpper = input.StringValue.ToUpperInvariant(),
{ "incomingByRef", ((TestDTO)dict["dtoByRef"]).GetNonSerializedValue() }, IncomingByRef = input.DTOByRef.Value.GetNonSerializedValue(),
{ "outgoingByRef", new DotNetObjectRef(new TestDTO(1234)) }, 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 }, ThisTypeName = GetType().Name,
{ "stringValueUpper", ((string)dict["stringValue"]).ToUpperInvariant() }, StringValueUpper = input.StringValue.ToUpperInvariant(),
{ "incomingByRef", ((TestDTO)dict["dtoByRef"]).GetNonSerializedValue() }, IncomingByRef = input.DTOByRef.Value.GetNonSerializedValue(),
{ "outgoingByRef", new DotNetObjectRef(new TestDTO(1234)) }, 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; }
}
} }
} }

View File

@ -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; }

View File

@ -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> <textarea @bind="@modelJson" id="key-model"></textarea>
<button onclick="@Update">Update</button> <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

View File

@ -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; }
} }

View File

@ -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);
} }
} }

View File

@ -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>

View File

@ -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()

View File

@ -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>()

View File

@ -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 {

View File

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

View File

@ -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>

View File

@ -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}")"> <li @key="@item.Id" class="@($"item-{item.Id}")">
<input type="checkbox" bind="@item.IsDone"/> <input type="checkbox" @bind="@item.IsDone"/>
<input type="text" bind="@item.Text" oninput="@Shuffle" /> <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}")"> <li @key="@item.Id" class="@($"item-{item.Id}")">
<input type="checkbox" bind="@item.IsDone" /> <input type="checkbox" @bind="@item.IsDone" />
<input type="text" bind="@item.Text" oninput="@Shuffle" /> <input type="text" @bind="@item.Text" @oninput="@Shuffle" />
</li> </li>
} }
</ul> </ul>

View File

@ -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>

View File

@ -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>

View File

@ -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;

Before

Width:  |  Height:  |  Size: 215 B

After

Width:  |  Height:  |  Size: 216 B

View File

@ -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,
};
}
}

View File

@ -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 <button @ontouchstart=@OnTouch
ontouchcancel=@OnTouch @ontouchcancel=@OnTouch
ontouchenter=@OnTouch @ontouchenter=@OnTouch
ontouchleave=@OnTouch @ontouchleave=@OnTouch
ontouchend=@OnTouch @ontouchend=@OnTouch
ontouchmove=@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();
} }

View File

@ -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;

View File

@ -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; }

View File

@ -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>

View File

@ -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 {

View File

@ -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()
}; };
} }

View File

@ -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]

View File

@ -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[[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", 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]]"
}; };
} }
} }

View File

@ -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.");
}
} }
} }

Some files were not shown because too many files have changed in this diff Show More