Browse Source

[master] Update dependencies from 4 repositories (#12250)

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190715.6

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19365.6
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19365.6
- dotnet-ef - 3.0.0-preview8.19365.6
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19365.6
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19365.6
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19365.6
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19365.6

* Update dependencies from https://github.com/aspnet/Blazor build 20190715.2

- Microsoft.AspNetCore.Blazor.Mono - 0.10.0-preview8.19365.2

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190715.9

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19365.9
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19365.9
- dotnet-ef - 3.0.0-preview8.19365.9
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19365.9
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19365.9
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19365.9
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19365.9

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19365.5
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19365.5
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19365.5
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19365.5

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19366.1
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19366.1
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19366.1
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19366.1

* Update dependencies from https://github.com/dotnet/roslyn build 20190715.6

- Microsoft.Net.Compilers.Toolset - 3.3.0-beta2-19365-06

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190716.1

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19366.1
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19366.1
- dotnet-ef - 3.0.0-preview8.19366.1
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19366.1
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19366.1
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19366.1
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19366.1

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19366.2
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19366.2
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19366.2
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19366.2

* Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Http - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Primitives - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.JSInterop - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Mono.WebAssembly.Interop - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Internal.AspNetCore.Analyzers - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.Testing - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)

* Remove unsupported `$(NullableContextOptions)` property settings
- newer `csc` errors out if this is used

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190716.2

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19366.2
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19366.2
- dotnet-ef - 3.0.0-preview8.19366.2
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19366.2
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19366.2
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19366.2
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19366.2

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Http - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Primitives - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.JSInterop - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Mono.WebAssembly.Interop - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Internal.AspNetCore.Analyzers - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.Testing - 3.0.0-preview8.19365.3 (parent: Microsoft.EntityFrameworkCore)

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19366.3
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19366.3
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19366.3
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19366.3

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19366.4
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19366.4
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19366.4
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19366.4

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190716.3

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19366.3
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19366.3
- dotnet-ef - 3.0.0-preview8.19366.3
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19366.3
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19366.3
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19366.3
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19366.3

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Http - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Primitives - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.JSInterop - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Mono.WebAssembly.Interop - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Internal.AspNetCore.Analyzers - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19366.5
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19366.5
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19366.5
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19366.5

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190716.4

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19366.4
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19366.4
- dotnet-ef - 3.0.0-preview8.19366.4
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19366.4
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19366.4
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19366.4
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19366.4

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Http - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Primitives - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.JSInterop - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Mono.WebAssembly.Interop - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Internal.AspNetCore.Analyzers - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190716.6

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19366.6
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19366.6
- dotnet-ef - 3.0.0-preview8.19366.6
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19366.6
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19366.6
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19366.6
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19366.6

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Http - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Primitives - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.JSInterop - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Mono.WebAssembly.Interop - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Internal.AspNetCore.Analyzers - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.Testing - 3.0.0-preview8.19366.2 (parent: Microsoft.EntityFrameworkCore)

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190716.5

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19366.5
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19366.5
- dotnet-ef - 3.0.0-preview8.19366.5
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19366.5
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19366.5
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19366.5
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19366.5

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Http - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Primitives - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.JSInterop - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Mono.WebAssembly.Interop - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Internal.AspNetCore.Analyzers - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.Testing - 3.0.0-preview8.19366.1 (parent: Microsoft.EntityFrameworkCore)

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19366.6
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19366.6
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19366.6
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19366.6

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190716.7

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19366.7
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19366.7
- dotnet-ef - 3.0.0-preview8.19366.7
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19366.7
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19366.7
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19366.7
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19366.7

Dependency coherency updates

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

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19366.7
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19366.7
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19366.7
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19366.7

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19366.8
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19366.8
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19366.8
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19366.8

* Update dependencies from https://github.com/dotnet/roslyn build 20190716.2

- Microsoft.Net.Compilers.Toolset - 3.3.0-beta2-19366-02

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190717.1

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19367.1
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19367.1
- dotnet-ef - 3.0.0-preview8.19367.1
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19367.1
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19367.1
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19367.1
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19367.1

Dependency coherency updates

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

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19367.1
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19367.1
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19367.1
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19367.1

* fix test

* Add missing using

* Workaround nullability errors in Mvc.Analyzers

* React to compiler bind + globalization changes

* Skip failing tests

These tests require a reaction in the compiler repo.

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190717.2

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19367.2
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19367.2
- dotnet-ef - 3.0.0-preview8.19367.2
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19367.2
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19367.2
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19367.2
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19367.2

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19367.2
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19367.2
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19367.2
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19367.2

* Dependency coherency updates

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

* [Blazor] Better logging and diagnostics
* Adds logs for interop JS calls.
* Routes events through a Hub method.
* Routes async JS interop callbacks through a hub method.
* Routes async .NET invocations callbacks through a client method.

* [Blazor] Update NPM dependency

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19367.4
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19367.4
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19367.4
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19367.4

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19367.5
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19367.5
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19367.5
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19367.5

* React to ElementRef -> ElementReference

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190717.4

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19367.4
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19367.4
- dotnet-ef - 3.0.0-preview8.19367.4
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19367.4
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19367.4
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19367.4
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19367.4

Dependency coherency updates

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

* mvc tests

* more mvc

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19367.7
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19367.7
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19367.7
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19367.7

* Adjust MVC test baselines to JavaScript encoding no longer escaping forward slashes

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19367.8
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19367.8
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19367.8
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19367.8

* React to System.IO.Pipelines changes

* More reaction

* More reactions

* Update dependencies from https://github.com/dotnet/roslyn build 20190717.3

- Microsoft.Net.Compilers.Toolset - 3.3.0-beta2-19367-03

* Disable obsolete warning and fix test

* Make RemoteUriHelper public

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190718.1

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19368.1
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19368.1
- dotnet-ef - 3.0.0-preview8.19368.1
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19368.1
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19368.1
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19368.1
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19368.1

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19368.1
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19368.1
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19368.1
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19368.1

* Dependency coherency updates

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

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190718.2

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19368.2
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19368.2
- dotnet-ef - 3.0.0-preview8.19368.2
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19368.2
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19368.2
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19368.2
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19368.2

Dependency coherency updates

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

* fix build

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190718.3

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview8.19368.3
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview8.19368.3
- dotnet-ef - 3.0.0-preview8.19368.3
- Microsoft.EntityFrameworkCore - 3.0.0-preview8.19368.3
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview8.19368.3
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview8.19368.3
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview8.19368.3

Dependency coherency updates

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

* Manually set Roslyn version used in testing

* Fix conflicts

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

- Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19368.2
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19368.2
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19368.2
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19368.2

* fingers crossed
dotnet-maestro[bot] 6 years ago
parent
commit
771989b71d
88 changed files with 1229 additions and 921 deletions
  1. 202 202
      eng/Version.Details.xml
  2. 101 101
      eng/Versions.props
  3. 2 2
      src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs
  4. 1 1
      src/Components/Components/ref/Microsoft.AspNetCore.Components.netstandard2.0.Manual.cs
  5. 3 22
      src/Components/Components/ref/Microsoft.AspNetCore.Components.netstandard2.0.cs
  6. 0 47
      src/Components/Components/src/BindMethods.cs
  7. 36 0
      src/Components/Components/src/CompilerServices/RuntimeHelpers.cs
  8. 0 58
      src/Components/Components/src/ElementRef.cs
  9. 1 1
      src/Components/Components/src/RenderTree/RenderTreeBuilder.cs
  10. 3 3
      src/Components/Components/src/RenderTree/RenderTreeDiffBuilder.cs
  11. 3 3
      src/Components/Components/src/RenderTree/RenderTreeFrame.cs
  12. 0 60
      src/Components/Components/src/RuntimeHelpers.cs
  13. 7 7
      src/Components/Components/test/RenderTreeBuilderTest.cs
  14. 5 5
      src/Components/Components/test/RenderTreeDiffBuilderTest.cs
  15. 2 2
      src/Components/Components/test/RendererTest.cs
  16. 1 1
      src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.netcoreapp3.0.cs
  17. 3 3
      src/Components/Server/src/CircuitOptions.cs
  18. 163 6
      src/Components/Server/src/Circuits/CircuitHost.cs
  19. 1 1
      src/Components/Server/src/Circuits/CircuitOptionsJSInteropDetailedErrorsConfiguration.cs
  20. 96 8
      src/Components/Server/src/Circuits/RemoteJSRuntime.cs
  21. 33 7
      src/Components/Server/src/ComponentHub.cs
  22. 2 1
      src/Components/Server/test/Circuits/TestCircuitHost.cs
  23. 1 1
      src/Components/Shared/test/AssertFrame.cs
  24. 0 0
      src/Components/Web.JS/dist/Release/blazor.server.js
  25. 0 0
      src/Components/Web.JS/dist/Release/blazor.webassembly.js
  26. 1 1
      src/Components/Web.JS/package.json
  27. 10 1
      src/Components/Web.JS/src/Boot.Server.ts
  28. 5 2
      src/Components/Web.JS/src/Boot.WebAssembly.ts
  29. 17 7
      src/Components/Web.JS/src/Platform/Mono/MonoPlatform.ts
  30. 18 9
      src/Components/Web.JS/src/Rendering/BrowserRenderer.ts
  31. 1 1
      src/Components/Web.JS/src/Rendering/EventForDotNet.ts
  32. 2 2
      src/Components/Web.JS/src/Rendering/Renderer.ts
  33. 18 0
      src/Components/Web.JS/src/Rendering/RendererEventDispatcher.ts
  34. 3 4
      src/Components/Web.JS/yarn.lock
  35. 1 2
      src/Components/Web/src/RendererRegistryEventDispatcher.cs
  36. 7 7
      src/Components/test/E2ETest/Infrastructure/ServerFixtures/WebHostServerFixture.cs
  37. 234 46
      src/Components/test/E2ETest/ServerExecutionTests/InteropReliabilityTests.cs
  38. 1 1
      src/Components/test/E2ETest/ServerExecutionTests/ServerInteropTestDefaultExceptionsBehavior.cs
  39. 2 2
      src/Components/test/E2ETest/Tests/BindTest.cs
  40. 1 1
      src/Components/test/testassets/BasicTestApp/AfterRenderInteropComponent.razor
  41. 1 1
      src/Components/test/testassets/BasicTestApp/ElementRefComponent.razor
  42. 1 1
      src/Components/test/testassets/BasicTestApp/InteropOnInitializationComponent.razor
  43. 43 6
      src/Components/test/testassets/BasicTestApp/ServerReliability/ReliabilityComponent.razor
  44. 1 1
      src/Components/test/testassets/ComponentsApp.Server/Startup.cs
  45. 52 1
      src/Components/test/testassets/Ignitor/BlazorClient.cs
  46. 26 34
      src/Components/test/testassets/Ignitor/ElementNode.cs
  47. 2 1
      src/Components/test/testassets/TestServer/Components.TestServer.csproj
  48. 9 0
      src/Components/test/testassets/TestServer/Program.cs
  49. 1 1
      src/Components/test/testassets/TestServer/Startup.cs
  50. 4 1
      src/Components/test/testassets/TestServer/appsettings.json
  51. 0 4
      src/Hosting/TestHost/src/ResponseBodyPipeWriter.cs
  52. 8 7
      src/Mvc/Mvc.Analyzers/src/CodeAnalysisExtensions.cs
  53. 0 1
      src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj
  54. 5 5
      src/Mvc/Mvc.Analyzers/src/MvcFacts.cs
  55. 0 1
      src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
  56. 20 1
      src/Mvc/Mvc.ViewFeatures/test/Rendering/SystemTextJsonHelperTest.cs
  57. 1 1
      src/Mvc/samples/MvcSandbox/Components/App.razor
  58. 1 1
      src/Mvc/test/Mvc.FunctionalTests/SystemTextJsonOutputFormatterTest.cs
  59. 20 20
      src/Mvc/test/Mvc.FunctionalTests/compiler/resources/HtmlGenerationWebSite.HtmlGeneration_Home.Link.html
  60. 12 12
      src/Mvc/test/Mvc.FunctionalTests/compiler/resources/HtmlGenerationWebSite.HtmlGeneration_Home.Script.html
  61. 1 0
      src/ProjectTemplates/test/Infrastructure/GenerateTestProps.targets
  62. 7 0
      src/ProjectTemplates/test/Infrastructure/TemplateTests.props.in
  63. 0 5
      src/Servers/Kestrel/Core/src/Internal/Http/Http1ChunkedEncodingMessageBody.cs
  64. 0 5
      src/Servers/Kestrel/Core/src/Internal/Http/Http1ContentLengthMessageBody.cs
  65. 0 5
      src/Servers/Kestrel/Core/src/Internal/Http/Http1UpgradeMessageBody.cs
  66. 0 7
      src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestPipeReader.cs
  67. 0 6
      src/Servers/Kestrel/Core/src/Internal/Http/HttpResponsePipeWriter.cs
  68. 0 2
      src/Servers/Kestrel/Core/src/Internal/Http/MessageBody.cs
  69. 0 2
      src/Servers/Kestrel/Core/src/Internal/Http/ZeroContentLengthMessageBody.cs
  70. 0 5
      src/Servers/Kestrel/Core/src/Internal/Http2/Http2MessageBody.cs
  71. 0 5
      src/Servers/Kestrel/Core/src/Internal/Infrastructure/PipeWriterHelpers/ConcurrentPipeWriter.cs
  72. 0 9
      src/Servers/Kestrel/Core/test/BodyControlTests.cs
  73. 0 5
      src/Servers/Kestrel/Core/test/ConcurrentPipeWriterTests.cs
  74. 0 8
      src/Servers/Kestrel/Core/test/HttpResponsePipeWriterTests.cs
  75. 0 96
      src/Servers/Kestrel/Core/test/MessageBodyTests.cs
  76. 1 2
      src/Servers/Kestrel/perf/Kestrel.Performance/ResponseHeadersWritingBenchmark.cs
  77. 0 4
      src/Servers/Kestrel/shared/test/PassThroughConnectionMiddleware.cs
  78. 4 1
      src/Servers/Kestrel/test/InMemory.FunctionalTests/ResponseDrainingTests.cs
  79. 0 5
      src/Servers/Kestrel/test/InMemory.FunctionalTests/TestTransport/InMemoryTransportConnection.cs
  80. 2 0
      src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.ConnectionLifecycle.cs
  81. 3 0
      src/SignalR/clients/csharp/Client/test/UnitTests/TestConnection.cs
  82. 9 7
      src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ServerSentEventsTransport.cs
  83. 2 0
      src/SignalR/common/Http.Connections/test/HttpConnectionManagerTests.cs
  84. 1 1
      src/SignalR/common/SignalR.Common/test/Internal/Protocol/JsonHubProtocolTests.cs
  85. 2 0
      src/SignalR/common/testassets/Tests.Utils/PipeCompletionExtensions.cs
  86. 1 6
      src/SignalR/perf/Microbenchmarks/Shared/TestPipeReader.cs
  87. 1 6
      src/SignalR/perf/Microbenchmarks/Shared/TestPipeWriter.cs
  88. 1 1
      src/submodules/MessagePack-CSharp

+ 202 - 202
eng/Version.Details.xml

@@ -9,412 +9,412 @@
 -->
 <Dependencies>
   <ProductDependencies>
-    <Dependency Name="Microsoft.AspNetCore.Blazor.Mono" Version="0.10.0-preview8.19365.1">
+    <Dependency Name="Microsoft.AspNetCore.Blazor.Mono" Version="0.10.0-preview8.19365.2">
       <Uri>https://github.com/aspnet/Blazor</Uri>
-      <Sha>9045a3861427fc95575c07bd0455c98731567969</Sha>
+      <Sha>d09ecbb7337cedf351bbd7c65f4ff45be3d18906</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.0.0-preview8.19365.2">
+    <Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.0.0-preview8.19368.2">
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>d95774f01eb5f86d3f9ad00d2341deb74b024f37</Sha>
+      <Sha>6f1a3c6cac12d4d48ea3435004465d654aa77cbb</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="3.0.0-preview8.19365.2">
+    <Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="3.0.0-preview8.19368.2">
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>d95774f01eb5f86d3f9ad00d2341deb74b024f37</Sha>
+      <Sha>6f1a3c6cac12d4d48ea3435004465d654aa77cbb</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.CodeAnalysis.Razor" Version="3.0.0-preview8.19365.2">
+    <Dependency Name="Microsoft.CodeAnalysis.Razor" Version="3.0.0-preview8.19368.2">
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>d95774f01eb5f86d3f9ad00d2341deb74b024f37</Sha>
+      <Sha>6f1a3c6cac12d4d48ea3435004465d654aa77cbb</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.NET.Sdk.Razor" Version="3.0.0-preview8.19365.2">
+    <Dependency Name="Microsoft.NET.Sdk.Razor" Version="3.0.0-preview8.19368.2">
       <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
-      <Sha>d95774f01eb5f86d3f9ad00d2341deb74b024f37</Sha>
+      <Sha>6f1a3c6cac12d4d48ea3435004465d654aa77cbb</Sha>
     </Dependency>
-    <Dependency Name="dotnet-ef" Version="3.0.0-preview8.19365.5">
+    <Dependency Name="dotnet-ef" Version="3.0.0-preview8.19368.3">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
-      <Sha>751fb9dcf92357260128fc55afeb1e1735791297</Sha>
+      <Sha>669eaf261d8f4fb71a85307266d96d0678f8f04d</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="3.0.0-preview8.19365.5">
+    <Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="3.0.0-preview8.19368.3">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
-      <Sha>751fb9dcf92357260128fc55afeb1e1735791297</Sha>
+      <Sha>669eaf261d8f4fb71a85307266d96d0678f8f04d</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="3.0.0-preview8.19365.5">
+    <Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="3.0.0-preview8.19368.3">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
-      <Sha>751fb9dcf92357260128fc55afeb1e1735791297</Sha>
+      <Sha>669eaf261d8f4fb71a85307266d96d0678f8f04d</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="3.0.0-preview8.19365.5">
+    <Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="3.0.0-preview8.19368.3">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
-      <Sha>751fb9dcf92357260128fc55afeb1e1735791297</Sha>
+      <Sha>669eaf261d8f4fb71a85307266d96d0678f8f04d</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0-preview8.19365.5">
+    <Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0-preview8.19368.3">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
-      <Sha>751fb9dcf92357260128fc55afeb1e1735791297</Sha>
+      <Sha>669eaf261d8f4fb71a85307266d96d0678f8f04d</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0-preview8.19365.5">
+    <Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0-preview8.19368.3">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
-      <Sha>751fb9dcf92357260128fc55afeb1e1735791297</Sha>
+      <Sha>669eaf261d8f4fb71a85307266d96d0678f8f04d</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.EntityFrameworkCore" Version="3.0.0-preview8.19365.5">
+    <Dependency Name="Microsoft.EntityFrameworkCore" Version="3.0.0-preview8.19368.3">
       <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
-      <Sha>751fb9dcf92357260128fc55afeb1e1735791297</Sha>
+      <Sha>669eaf261d8f4fb71a85307266d96d0678f8f04d</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.ActivatorUtilities.Sources" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.ActivatorUtilities.Sources" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Caching.Memory" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Caching.Memory" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Caching.SqlServer" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Caching.SqlServer" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.CommandLineUtils.Sources" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.CommandLineUtils.Sources" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Json" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.Json" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.KeyPerFile" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.KeyPerFile" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Configuration" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Configuration" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.DependencyInjection" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.DependencyInjection" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.DiagnosticAdapter" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.DiagnosticAdapter" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.HashCodeCombiner.Sources" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.HashCodeCombiner.Sources" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Hosting" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Hosting" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Http" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Http" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Localization.Abstractions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Localization.Abstractions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Localization" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Localization" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.AzureAppServices" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.AzureAppServices" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Console" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.Console" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Debug" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.Debug" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging.Testing" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging.Testing" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Logging" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Logging" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.ObjectPool" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.ObjectPool" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Options" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Options" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.Primitives" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.Primitives" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.TypeNameHelper.Sources" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.TypeNameHelper.Sources" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.ValueStopwatch.Sources" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.ValueStopwatch.Sources" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.WebEncoders" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Extensions.WebEncoders" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Internal.Extensions.Refs" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.Internal.Extensions.Refs" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.JSInterop" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.JSInterop" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Mono.WebAssembly.Interop" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Mono.WebAssembly.Interop" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Bcl.AsyncInterfaces" Version="1.0.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="Microsoft.Bcl.AsyncInterfaces" Version="1.0.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.CSharp" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="Microsoft.CSharp" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Win32.Registry" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="Microsoft.Win32.Registry" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Win32.SystemEvents" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="Microsoft.Win32.SystemEvents" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.ComponentModel.Annotations" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.ComponentModel.Annotations" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
     <Dependency Name="System.Data.SqlClient" Version="4.7.0-preview6.19264.9" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64" Pinned="true">
       <Uri>https://github.com/dotnet/corefx</Uri>
       <Sha>a28176b5ec68b6da1472934fe9493790d1665cae</Sha>
     </Dependency>
-    <Dependency Name="System.Diagnostics.EventLog" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Diagnostics.EventLog" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Drawing.Common" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Drawing.Common" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.IO.Pipelines" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.IO.Pipelines" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Net.Http.WinHttpHandler" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Net.Http.WinHttpHandler" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Reflection.Metadata" Version="1.7.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Reflection.Metadata" Version="1.7.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Cryptography.Cng" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Security.Cryptography.Cng" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Cryptography.Pkcs" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Security.Cryptography.Pkcs" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Cryptography.Xml" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Security.Cryptography.Xml" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Permissions" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Security.Permissions" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Security.Principal.Windows" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Security.Principal.Windows" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.ServiceProcess.ServiceController" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.ServiceProcess.ServiceController" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Text.Encodings.Web" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Text.Encodings.Web" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Text.Json" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Text.Json" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Threading.Channels" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Threading.Channels" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="System.Windows.Extensions" Version="4.6.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="System.Windows.Extensions" Version="4.6.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.0.0-preview8-27914-06" CoherentParentDependency="Microsoft.Extensions.Logging">
+    <Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.0.0-preview8-27917-12" CoherentParentDependency="Microsoft.Extensions.Logging">
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>2bb2dcaeffb1dfeda077354449868ddac254bc3d</Sha>
+      <Sha>02e6fc2ff8d962383f538241c899decc0d655a60</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.NETCore.App.Ref" Version="3.0.0-preview8-27914-06" CoherentParentDependency="Microsoft.Extensions.Logging">
+    <Dependency Name="Microsoft.NETCore.App.Ref" Version="3.0.0-preview8-27917-12" CoherentParentDependency="Microsoft.Extensions.Logging">
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>2bb2dcaeffb1dfeda077354449868ddac254bc3d</Sha>
+      <Sha>02e6fc2ff8d962383f538241c899decc0d655a60</Sha>
     </Dependency>
     <!--
          Win-x64 is used here because we have picked an arbitrary runtime identifier to flow the version of the latest NETCore.App runtime.
          All Runtime.$rid packages should have the same version.
     -->
-    <Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="3.0.0-preview8-27914-06" CoherentParentDependency="Microsoft.Extensions.Logging">
+    <Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="3.0.0-preview8-27917-12" CoherentParentDependency="Microsoft.Extensions.Logging">
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>2bb2dcaeffb1dfeda077354449868ddac254bc3d</Sha>
+      <Sha>02e6fc2ff8d962383f538241c899decc0d655a60</Sha>
     </Dependency>
-    <Dependency Name="NETStandard.Library.Ref" Version="2.1.0-preview8-27914-06" CoherentParentDependency="Microsoft.Extensions.Logging">
+    <Dependency Name="NETStandard.Library.Ref" Version="2.1.0-preview8-27917-12" CoherentParentDependency="Microsoft.Extensions.Logging">
       <Uri>https://github.com/dotnet/core-setup</Uri>
-      <Sha>2bb2dcaeffb1dfeda077354449868ddac254bc3d</Sha>
+      <Sha>02e6fc2ff8d962383f538241c899decc0d655a60</Sha>
     </Dependency>
   </ProductDependencies>
   <ToolsetDependencies>
     <!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
-    <Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview8.19364.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
+    <Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview8.19367.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
       <Uri>https://github.com/dotnet/corefx</Uri>
-      <Sha>c14b80faff694bae4e085bad221e2e83410e5f33</Sha>
+      <Sha>d1e66a529460dc0c5fb0fe0dbe1454e7c5ccea4e</Sha>
     </Dependency>
-    <Dependency Name="Internal.AspNetCore.Analyzers" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Internal.AspNetCore.Analyzers" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
     <Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19365.4">
       <Uri>https://github.com/dotnet/arcade</Uri>
@@ -428,13 +428,13 @@
       <Uri>https://github.com/dotnet/arcade</Uri>
       <Sha>fb27fd4d8a2b67d4333e33d4b898c65171c9f3c1</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-preview8.19365.1" CoherentParentDependency="Microsoft.EntityFrameworkCore">
+    <Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-preview8.19368.2" CoherentParentDependency="Microsoft.EntityFrameworkCore">
       <Uri>https://github.com/aspnet/Extensions</Uri>
-      <Sha>8bf6089b4491bc4387cdfec64ab56e7cc39030f8</Sha>
+      <Sha>ab1b0aa16453b7c5876365f5dc6d476153873af0</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.3.0-beta2-19363-02">
+    <Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.3.0-beta2-19367-03">
       <Uri>https://github.com/dotnet/roslyn</Uri>
-      <Sha>342275182023200bcd42b3d9919e984039577b44</Sha>
+      <Sha>6914197946ea2be12f2c316e60640c91f8c4d717</Sha>
     </Dependency>
   </ToolsetDependencies>
 </Dependencies>

+ 101 - 101
eng/Versions.props

@@ -52,115 +52,115 @@
     <!-- Packages from dotnet/arcade -->
     <MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19365.4</MicrosoftDotNetGenAPIPackageVersion>
     <!-- Packages from dotnet/roslyn -->
-    <MicrosoftNetCompilersToolsetPackageVersion>3.3.0-beta2-19363-02</MicrosoftNetCompilersToolsetPackageVersion>
+    <MicrosoftNetCompilersToolsetPackageVersion>3.3.0-beta2-19367-03</MicrosoftNetCompilersToolsetPackageVersion>
     <!-- Packages from dotnet/core-setup -->
-    <MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview8-27914-06</MicrosoftExtensionsDependencyModelPackageVersion>
-    <MicrosoftNETCoreAppRefPackageVersion>3.0.0-preview8-27914-06</MicrosoftNETCoreAppRefPackageVersion>
-    <MicrosoftNETCoreAppRuntimewinx64PackageVersion>3.0.0-preview8-27914-06</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
-    <NETStandardLibraryRefPackageVersion>2.1.0-preview8-27914-06</NETStandardLibraryRefPackageVersion>
+    <MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview8-27917-12</MicrosoftExtensionsDependencyModelPackageVersion>
+    <MicrosoftNETCoreAppRefPackageVersion>3.0.0-preview8-27917-12</MicrosoftNETCoreAppRefPackageVersion>
+    <MicrosoftNETCoreAppRuntimewinx64PackageVersion>3.0.0-preview8-27917-12</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
+    <NETStandardLibraryRefPackageVersion>2.1.0-preview8-27917-12</NETStandardLibraryRefPackageVersion>
     <!-- Packages from dotnet/corefx -->
-    <MicrosoftBclAsyncInterfacesPackageVersion>1.0.0-preview8.19364.1</MicrosoftBclAsyncInterfacesPackageVersion>
-    <MicrosoftCSharpPackageVersion>4.6.0-preview8.19364.1</MicrosoftCSharpPackageVersion>
-    <MicrosoftWin32RegistryPackageVersion>4.6.0-preview8.19364.1</MicrosoftWin32RegistryPackageVersion>
-    <MicrosoftWin32SystemEventsPackageVersion>4.6.0-preview8.19364.1</MicrosoftWin32SystemEventsPackageVersion>
-    <SystemComponentModelAnnotationsPackageVersion>4.6.0-preview8.19364.1</SystemComponentModelAnnotationsPackageVersion>
+    <MicrosoftBclAsyncInterfacesPackageVersion>1.0.0-preview8.19367.3</MicrosoftBclAsyncInterfacesPackageVersion>
+    <MicrosoftCSharpPackageVersion>4.6.0-preview8.19367.3</MicrosoftCSharpPackageVersion>
+    <MicrosoftWin32RegistryPackageVersion>4.6.0-preview8.19367.3</MicrosoftWin32RegistryPackageVersion>
+    <MicrosoftWin32SystemEventsPackageVersion>4.6.0-preview8.19367.3</MicrosoftWin32SystemEventsPackageVersion>
+    <SystemComponentModelAnnotationsPackageVersion>4.6.0-preview8.19367.3</SystemComponentModelAnnotationsPackageVersion>
     <SystemDataSqlClientPackageVersion>4.7.0-preview6.19264.9</SystemDataSqlClientPackageVersion>
-    <SystemDiagnosticsEventLogPackageVersion>4.6.0-preview8.19364.1</SystemDiagnosticsEventLogPackageVersion>
-    <SystemDrawingCommonPackageVersion>4.6.0-preview8.19364.1</SystemDrawingCommonPackageVersion>
-    <SystemIOPipelinesPackageVersion>4.6.0-preview8.19364.1</SystemIOPipelinesPackageVersion>
-    <SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview8.19364.1</SystemNetHttpWinHttpHandlerPackageVersion>
-    <SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview8.19364.1</SystemNetWebSocketsWebSocketProtocolPackageVersion>
-    <SystemReflectionMetadataPackageVersion>1.7.0-preview8.19364.1</SystemReflectionMetadataPackageVersion>
-    <SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview8.19364.1</SystemRuntimeCompilerServicesUnsafePackageVersion>
-    <SystemSecurityCryptographyCngPackageVersion>4.6.0-preview8.19364.1</SystemSecurityCryptographyCngPackageVersion>
-    <SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview8.19364.1</SystemSecurityCryptographyPkcsPackageVersion>
-    <SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview8.19364.1</SystemSecurityCryptographyXmlPackageVersion>
-    <SystemSecurityPermissionsPackageVersion>4.6.0-preview8.19364.1</SystemSecurityPermissionsPackageVersion>
-    <SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview8.19364.1</SystemSecurityPrincipalWindowsPackageVersion>
-    <SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview8.19364.1</SystemServiceProcessServiceControllerPackageVersion>
-    <SystemTextEncodingsWebPackageVersion>4.6.0-preview8.19364.1</SystemTextEncodingsWebPackageVersion>
-    <SystemTextJsonPackageVersion>4.6.0-preview8.19364.1</SystemTextJsonPackageVersion>
-    <SystemThreadingChannelsPackageVersion>4.6.0-preview8.19364.1</SystemThreadingChannelsPackageVersion>
-    <SystemWindowsExtensionsPackageVersion>4.6.0-preview8.19364.1</SystemWindowsExtensionsPackageVersion>
+    <SystemDiagnosticsEventLogPackageVersion>4.6.0-preview8.19367.3</SystemDiagnosticsEventLogPackageVersion>
+    <SystemDrawingCommonPackageVersion>4.6.0-preview8.19367.3</SystemDrawingCommonPackageVersion>
+    <SystemIOPipelinesPackageVersion>4.6.0-preview8.19367.3</SystemIOPipelinesPackageVersion>
+    <SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview8.19367.3</SystemNetHttpWinHttpHandlerPackageVersion>
+    <SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview8.19367.3</SystemNetWebSocketsWebSocketProtocolPackageVersion>
+    <SystemReflectionMetadataPackageVersion>1.7.0-preview8.19367.3</SystemReflectionMetadataPackageVersion>
+    <SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview8.19367.3</SystemRuntimeCompilerServicesUnsafePackageVersion>
+    <SystemSecurityCryptographyCngPackageVersion>4.6.0-preview8.19367.3</SystemSecurityCryptographyCngPackageVersion>
+    <SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview8.19367.3</SystemSecurityCryptographyPkcsPackageVersion>
+    <SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview8.19367.3</SystemSecurityCryptographyXmlPackageVersion>
+    <SystemSecurityPermissionsPackageVersion>4.6.0-preview8.19367.3</SystemSecurityPermissionsPackageVersion>
+    <SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview8.19367.3</SystemSecurityPrincipalWindowsPackageVersion>
+    <SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview8.19367.3</SystemServiceProcessServiceControllerPackageVersion>
+    <SystemTextEncodingsWebPackageVersion>4.6.0-preview8.19367.3</SystemTextEncodingsWebPackageVersion>
+    <SystemTextJsonPackageVersion>4.6.0-preview8.19367.3</SystemTextJsonPackageVersion>
+    <SystemThreadingChannelsPackageVersion>4.6.0-preview8.19367.3</SystemThreadingChannelsPackageVersion>
+    <SystemWindowsExtensionsPackageVersion>4.6.0-preview8.19367.3</SystemWindowsExtensionsPackageVersion>
     <!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
-    <MicrosoftNETCorePlatformsPackageVersion>3.0.0-preview8.19364.1</MicrosoftNETCorePlatformsPackageVersion>
+    <MicrosoftNETCorePlatformsPackageVersion>3.0.0-preview8.19367.3</MicrosoftNETCorePlatformsPackageVersion>
     <!-- Packages from aspnet/Blazor -->
-    <MicrosoftAspNetCoreBlazorMonoPackageVersion>0.10.0-preview8.19365.1</MicrosoftAspNetCoreBlazorMonoPackageVersion>
+    <MicrosoftAspNetCoreBlazorMonoPackageVersion>0.10.0-preview8.19365.2</MicrosoftAspNetCoreBlazorMonoPackageVersion>
     <!-- Packages from aspnet/Extensions -->
-    <InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview8.19365.1</InternalAspNetCoreAnalyzersPackageVersion>
-    <MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview8.19365.1</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
-    <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview8.19365.1</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
-    <MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview8.19365.1</MicrosoftAspNetCoreTestingPackageVersion>
-    <MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
-    <MicrosoftExtensionsCachingAbstractionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsCachingAbstractionsPackageVersion>
-    <MicrosoftExtensionsCachingMemoryPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsCachingMemoryPackageVersion>
-    <MicrosoftExtensionsCachingSqlServerPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsCachingSqlServerPackageVersion>
-    <MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>
-    <MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
-    <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
-    <MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
-    <MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationBinderPackageVersion>
-    <MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
-    <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
-    <MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
-    <MicrosoftExtensionsConfigurationIniPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationIniPackageVersion>
-    <MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationJsonPackageVersion>
-    <MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
-    <MicrosoftExtensionsConfigurationPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationPackageVersion>
-    <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
-    <MicrosoftExtensionsConfigurationXmlPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsConfigurationXmlPackageVersion>
-    <MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
-    <MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsDependencyInjectionPackageVersion>
-    <MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
-    <MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>
-    <MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>
-    <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
-    <MicrosoftExtensionsFileProvidersCompositePackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsFileProvidersCompositePackageVersion>
-    <MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
-    <MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
-    <MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
-    <MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
-    <MicrosoftExtensionsHostingAbstractionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsHostingAbstractionsPackageVersion>
-    <MicrosoftExtensionsHostingPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsHostingPackageVersion>
-    <MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
-    <MicrosoftExtensionsHttpPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsHttpPackageVersion>
-    <MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLocalizationAbstractionsPackageVersion>
-    <MicrosoftExtensionsLocalizationPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLocalizationPackageVersion>
-    <MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
-    <MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
-    <MicrosoftExtensionsLoggingConfigurationPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingConfigurationPackageVersion>
-    <MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingConsolePackageVersion>
-    <MicrosoftExtensionsLoggingDebugPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingDebugPackageVersion>
-    <MicrosoftExtensionsLoggingEventSourcePackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingEventSourcePackageVersion>
-    <MicrosoftExtensionsLoggingEventLogPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingEventLogPackageVersion>
-    <MicrosoftExtensionsLoggingPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingPackageVersion>
-    <MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingTestingPackageVersion>
-    <MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
-    <MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsObjectPoolPackageVersion>
-    <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
-    <MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
-    <MicrosoftExtensionsOptionsPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsOptionsPackageVersion>
-    <MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
-    <MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsPrimitivesPackageVersion>
-    <MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
-    <MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
-    <MicrosoftExtensionsWebEncodersPackageVersion>3.0.0-preview8.19365.1</MicrosoftExtensionsWebEncodersPackageVersion>
-    <MicrosoftInternalExtensionsRefsPackageVersion>3.0.0-preview8.19365.1</MicrosoftInternalExtensionsRefsPackageVersion>
-    <MicrosoftJSInteropPackageVersion>3.0.0-preview8.19365.1</MicrosoftJSInteropPackageVersion>
-    <MonoWebAssemblyInteropPackageVersion>3.0.0-preview8.19365.1</MonoWebAssemblyInteropPackageVersion>
+    <InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview8.19368.2</InternalAspNetCoreAnalyzersPackageVersion>
+    <MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview8.19368.2</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
+    <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview8.19368.2</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
+    <MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview8.19368.2</MicrosoftAspNetCoreTestingPackageVersion>
+    <MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
+    <MicrosoftExtensionsCachingAbstractionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsCachingAbstractionsPackageVersion>
+    <MicrosoftExtensionsCachingMemoryPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsCachingMemoryPackageVersion>
+    <MicrosoftExtensionsCachingSqlServerPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsCachingSqlServerPackageVersion>
+    <MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>
+    <MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
+    <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
+    <MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
+    <MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationBinderPackageVersion>
+    <MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
+    <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
+    <MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
+    <MicrosoftExtensionsConfigurationIniPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationIniPackageVersion>
+    <MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationJsonPackageVersion>
+    <MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
+    <MicrosoftExtensionsConfigurationPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationPackageVersion>
+    <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
+    <MicrosoftExtensionsConfigurationXmlPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsConfigurationXmlPackageVersion>
+    <MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
+    <MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsDependencyInjectionPackageVersion>
+    <MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
+    <MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>
+    <MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>
+    <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
+    <MicrosoftExtensionsFileProvidersCompositePackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsFileProvidersCompositePackageVersion>
+    <MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
+    <MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
+    <MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
+    <MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
+    <MicrosoftExtensionsHostingAbstractionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsHostingAbstractionsPackageVersion>
+    <MicrosoftExtensionsHostingPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsHostingPackageVersion>
+    <MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
+    <MicrosoftExtensionsHttpPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsHttpPackageVersion>
+    <MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLocalizationAbstractionsPackageVersion>
+    <MicrosoftExtensionsLocalizationPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLocalizationPackageVersion>
+    <MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
+    <MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
+    <MicrosoftExtensionsLoggingConfigurationPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingConfigurationPackageVersion>
+    <MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingConsolePackageVersion>
+    <MicrosoftExtensionsLoggingDebugPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingDebugPackageVersion>
+    <MicrosoftExtensionsLoggingEventSourcePackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingEventSourcePackageVersion>
+    <MicrosoftExtensionsLoggingEventLogPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingEventLogPackageVersion>
+    <MicrosoftExtensionsLoggingPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingPackageVersion>
+    <MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingTestingPackageVersion>
+    <MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
+    <MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsObjectPoolPackageVersion>
+    <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
+    <MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
+    <MicrosoftExtensionsOptionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsOptionsPackageVersion>
+    <MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
+    <MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsPrimitivesPackageVersion>
+    <MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
+    <MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
+    <MicrosoftExtensionsWebEncodersPackageVersion>3.0.0-preview8.19368.2</MicrosoftExtensionsWebEncodersPackageVersion>
+    <MicrosoftInternalExtensionsRefsPackageVersion>3.0.0-preview8.19368.2</MicrosoftInternalExtensionsRefsPackageVersion>
+    <MicrosoftJSInteropPackageVersion>3.0.0-preview8.19368.2</MicrosoftJSInteropPackageVersion>
+    <MonoWebAssemblyInteropPackageVersion>3.0.0-preview8.19368.2</MonoWebAssemblyInteropPackageVersion>
     <!-- Packages from aspnet/EntityFrameworkCore -->
-    <dotnetefPackageVersion>3.0.0-preview8.19365.5</dotnetefPackageVersion>
-    <MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.0.0-preview8.19365.5</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
-    <MicrosoftEntityFrameworkCoreRelationalPackageVersion>3.0.0-preview8.19365.5</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
-    <MicrosoftEntityFrameworkCoreSqlitePackageVersion>3.0.0-preview8.19365.5</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
-    <MicrosoftEntityFrameworkCoreSqlServerPackageVersion>3.0.0-preview8.19365.5</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
-    <MicrosoftEntityFrameworkCoreToolsPackageVersion>3.0.0-preview8.19365.5</MicrosoftEntityFrameworkCoreToolsPackageVersion>
-    <MicrosoftEntityFrameworkCorePackageVersion>3.0.0-preview8.19365.5</MicrosoftEntityFrameworkCorePackageVersion>
+    <dotnetefPackageVersion>3.0.0-preview8.19368.3</dotnetefPackageVersion>
+    <MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.0.0-preview8.19368.3</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
+    <MicrosoftEntityFrameworkCoreRelationalPackageVersion>3.0.0-preview8.19368.3</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
+    <MicrosoftEntityFrameworkCoreSqlitePackageVersion>3.0.0-preview8.19368.3</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
+    <MicrosoftEntityFrameworkCoreSqlServerPackageVersion>3.0.0-preview8.19368.3</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
+    <MicrosoftEntityFrameworkCoreToolsPackageVersion>3.0.0-preview8.19368.3</MicrosoftEntityFrameworkCoreToolsPackageVersion>
+    <MicrosoftEntityFrameworkCorePackageVersion>3.0.0-preview8.19368.3</MicrosoftEntityFrameworkCorePackageVersion>
     <!-- Packages from aspnet/AspNetCore-Tooling -->
-    <MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.0.0-preview8.19365.2</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
-    <MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview8.19365.2</MicrosoftAspNetCoreRazorLanguagePackageVersion>
-    <MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview8.19365.2</MicrosoftCodeAnalysisRazorPackageVersion>
-    <MicrosoftNETSdkRazorPackageVersion>3.0.0-preview8.19365.2</MicrosoftNETSdkRazorPackageVersion>
+    <MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.0.0-preview8.19368.2</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
+    <MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview8.19368.2</MicrosoftAspNetCoreRazorLanguagePackageVersion>
+    <MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview8.19368.2</MicrosoftCodeAnalysisRazorPackageVersion>
+    <MicrosoftNETSdkRazorPackageVersion>3.0.0-preview8.19368.2</MicrosoftNETSdkRazorPackageVersion>
   </PropertyGroup>
   <!--
 

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

@@ -55,7 +55,7 @@ namespace Test
                 frame => AssertFrame.Attribute(frame, "ValueChanged", typeof(Action<int>), 2));
         }
 
-        [Fact]
+        [Fact(Skip = "https://github.com/aspnet/AspNetCore/issues/12286")]
         public void Render_BindToComponent_SpecifiesValue_WithoutMatchingProperties()
         {
             // Arrange
@@ -129,7 +129,7 @@ namespace Test
                 frame => AssertFrame.Attribute(frame, "OnChanged", typeof(Action<int>), 2));
         }
 
-        [Fact]
+        [Fact(Skip = "https://github.com/aspnet/AspNetCore/issues/12286")]
         public void Render_BindToComponent_SpecifiesValueAndChangeEvent_WithoutMatchingProperties()
         {
             // Arrange

+ 1 - 1
src/Components/Components/ref/Microsoft.AspNetCore.Components.netstandard2.0.Manual.cs

@@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Components.RenderTree
         [System.Runtime.InteropServices.FieldOffsetAttribute(16)]
         public readonly string ElementName;
         [System.Runtime.InteropServices.FieldOffsetAttribute(24)]
-        public readonly System.Action<Microsoft.AspNetCore.Components.ElementRef> ElementReferenceCaptureAction;
+        public readonly System.Action<Microsoft.AspNetCore.Components.ElementReference> ElementReferenceCaptureAction;
         [System.Runtime.InteropServices.FieldOffsetAttribute(16)]
         public readonly string ElementReferenceCaptureId;
         [System.Runtime.InteropServices.FieldOffsetAttribute(8)]

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

@@ -90,14 +90,6 @@ namespace Microsoft.AspNetCore.Components
         public string Type { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
         public string ValueAttribute { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
     }
-    public static partial class BindMethods
-    {
-        public static string GetValue(System.DateTime value, string format) { throw null; }
-        public static string GetValue(System.DateTimeOffset value, string format) { throw null; }
-        public static string GetValue(System.DateTimeOffset? value, string format) { throw null; }
-        public static string GetValue(System.DateTime? value, string format) { throw null; }
-        public static T GetValue<T>(T value) { throw null; }
-    }
     [System.AttributeUsageAttribute(System.AttributeTargets.Property, AllowMultiple=false, Inherited=true)]
     public sealed partial class CascadingParameterAttribute : System.Attribute
     {
@@ -144,13 +136,6 @@ namespace Microsoft.AspNetCore.Components
         protected void OnUnhandledException(System.UnhandledExceptionEventArgs e) { }
     }
     [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
-    public readonly partial struct ElementRef
-    {
-        private readonly object _dummy;
-        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
-        public string __internalId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
-    }
-    [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
     public readonly partial struct ElementReference
     {
         private readonly object _dummy;
@@ -472,12 +457,6 @@ namespace Microsoft.AspNetCore.Components
         public RouteAttribute(string template) { }
         public string Template { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
     }
-    public static partial class RuntimeHelpers
-    {
-        public static Microsoft.AspNetCore.Components.EventCallback<T> CreateInferredEventCallback<T>(object receiver, System.Action<T> callback, T value) { throw null; }
-        public static Microsoft.AspNetCore.Components.EventCallback<T> CreateInferredEventCallback<T>(object receiver, System.Func<T, System.Threading.Tasks.Task> callback, T value) { throw null; }
-        public static T TypeCheck<T>(T value) { throw null; }
-    }
     public partial class UIChangeEventArgs : Microsoft.AspNetCore.Components.UIEventArgs
     {
         public UIChangeEventArgs() { }
@@ -615,6 +594,8 @@ namespace Microsoft.AspNetCore.Components.CompilerServices
 {
     public static partial class RuntimeHelpers
     {
+        public static Microsoft.AspNetCore.Components.EventCallback<T> CreateInferredEventCallback<T>(object receiver, System.Action<T> callback, T value) { throw null; }
+        public static Microsoft.AspNetCore.Components.EventCallback<T> CreateInferredEventCallback<T>(object receiver, System.Func<T, System.Threading.Tasks.Task> callback, T value) { throw null; }
         public static T TypeCheck<T>(T value) { throw null; }
     }
 }
@@ -787,7 +768,7 @@ namespace Microsoft.AspNetCore.Components.RenderTree
         public void AddContent(int sequence, object textContent) { }
         public void AddContent(int sequence, string textContent) { }
         public void AddContent<T>(int sequence, Microsoft.AspNetCore.Components.RenderFragment<T> fragment, T value) { }
-        public void AddElementReferenceCapture(int sequence, System.Action<Microsoft.AspNetCore.Components.ElementRef> elementReferenceCaptureAction) { }
+        public void AddElementReferenceCapture(int sequence, System.Action<Microsoft.AspNetCore.Components.ElementReference> elementReferenceCaptureAction) { }
         public void AddMarkupContent(int sequence, string markupContent) { }
         public void AddMultipleAttributes(int sequence, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, object>> attributes) { }
         public void Clear() { }

+ 0 - 47
src/Components/Components/src/BindMethods.cs

@@ -1,47 +0,0 @@
-// 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.Globalization;
-
-namespace Microsoft.AspNetCore.Components
-{
-    /// <summary>
-    /// Methods used internally by @bind syntax. Not intended to be used directly.
-    /// </summary>
-    public static class BindMethods
-    {
-        /// <summary>
-        /// Not intended to be used directly.
-        /// </summary>
-        public static T GetValue<T>(T value) => value;
-
-        /// <summary>
-        /// Not intended to be used directly.
-        /// </summary>
-        public static string GetValue(DateTime value, string format) =>
-            value == default ? null
-            : (format == null ? value.ToString() : value.ToString(format));
-
-        /// <summary>
-        /// Not intended to be used directly.
-        /// </summary>
-        public static string GetValue(DateTime? value, string format) =>
-            value == default ? null
-            : (format == null ? value.ToString() : value.Value.ToString(format));
-
-        /// <summary>
-        /// Not intended to be used directly.
-        /// </summary>
-        public static string GetValue(DateTimeOffset value, string format) =>
-            value == default ? null
-            : (format == null ? value.ToString() : value.ToString(format));
-
-        /// <summary>
-        /// Not intended to be used directly.
-        /// </summary>
-        public static string GetValue(DateTimeOffset? value, string format) =>
-            value == default ? null
-            : (format == null ? value.ToString() : value.Value.ToString(format));
-    }
-}

+ 36 - 0
src/Components/Components/src/CompilerServices/RuntimeHelpers.cs

@@ -1,5 +1,7 @@
 // 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.Threading.Tasks;
 
 namespace Microsoft.AspNetCore.Components.CompilerServices
 {
@@ -16,5 +18,39 @@ namespace Microsoft.AspNetCore.Components.CompilerServices
         /// <param name="value"></param>
         /// <returns></returns>
         public static T TypeCheck<T>(T value) => value;
+
+        /// <summary>
+        /// Not intended for use by application code.
+        /// </summary>
+        /// <param name="receiver"></param>
+        /// <param name="callback"></param>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        //
+        // This method is used with `@bind-Value` for components. When a component has a generic type, it's
+        // really messy to write to try and write the parameter type for ValueChanged - because it can contain generic
+        // type parameters. We're using a trick of type inference to generate the proper typing for the delegate
+        // so that method-group-to-delegate conversion works.
+        public static EventCallback<T> CreateInferredEventCallback<T>(object receiver, Action<T> callback, T value)
+        {
+            return EventCallback.Factory.Create<T>(receiver, callback);
+        }
+
+        /// <summary>
+        /// Not intended for use by application code.
+        /// </summary>
+        /// <param name="receiver"></param>
+        /// <param name="callback"></param>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        //
+        // This method is used with `@bind-Value` for components. When a component has a generic type, it's
+        // really messy to write to try and write the parameter type for ValueChanged - because it can contain generic
+        // type parameters. We're using a trick of type inference to generate the proper typing for the delegate
+        // so that method-group-to-delegate conversion works.
+        public static EventCallback<T> CreateInferredEventCallback<T>(object receiver, Func<T, Task> callback, T value)
+        {
+            return EventCallback.Factory.Create<T>(receiver, callback);
+        }
     }
 }

+ 0 - 58
src/Components/Components/src/ElementRef.cs

@@ -1,58 +0,0 @@
-// 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.ComponentModel;
-using System.Threading;
-
-namespace Microsoft.AspNetCore.Components
-{
-    /// <summary>
-    /// Represents a reference to a rendered element.
-    /// </summary>
-    public readonly struct ElementRef
-    {
-        static long _nextIdForWebAssemblyOnly = 1;
-
-        /// <summary>
-        /// Gets a unique identifier for <see cref="ElementRef" />.
-        /// </summary>
-        /// <remarks>
-        /// The Id is unique at least within the scope of a given user/circuit.
-        /// This property is public to support Json serialization and should not be used by user code.
-        /// </remarks>
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public string __internalId { get; }
-
-        internal string Id => __internalId;
-
-        private ElementRef(string id)
-        {
-            __internalId = id;
-        }
-
-        internal static ElementRef CreateWithUniqueId()
-            => new ElementRef(CreateUniqueId());
-
-        static string CreateUniqueId()
-        {
-            if (PlatformInfo.IsWebAssembly)
-            {
-                // On WebAssembly there's only one user, so it's fine to expose the number
-                // of IDs that have been assigned, and this is cheaper than creating a GUID.
-                // It's unfortunate that this still involves a heap allocation. If that becomes
-                // a problem we could extend RenderTreeFrame to have both "string" and "long"
-                // fields for ElementRefCaptureId, of which only one would be in use depending
-                // on the platform.
-                var id = Interlocked.Increment(ref _nextIdForWebAssemblyOnly);
-                return id.ToString();
-            }
-            else
-            {
-                // For remote rendering, it's important not to disclose any cross-user state,
-                // such as the number of IDs that have been assigned.
-                return Guid.NewGuid().ToString("D");
-            }
-        }
-    }
-}

+ 1 - 1
src/Components/Components/src/RenderTree/RenderTreeBuilder.cs

@@ -587,7 +587,7 @@ namespace Microsoft.AspNetCore.Components.RenderTree
         /// </summary>
         /// <param name="sequence">An integer that represents the position of the instruction in the source code.</param>
         /// <param name="elementReferenceCaptureAction">An action to be invoked whenever the reference value changes.</param>
-        public void AddElementReferenceCapture(int sequence, Action<ElementRef> elementReferenceCaptureAction)
+        public void AddElementReferenceCapture(int sequence, Action<ElementReference> elementReferenceCaptureAction)
         {
             if (GetCurrentParentFrameType() != RenderTreeFrameType.Element)
             {

+ 3 - 3
src/Components/Components/src/RenderTree/RenderTreeDiffBuilder.cs

@@ -914,9 +914,9 @@ namespace Microsoft.AspNetCore.Components.RenderTree
 
         private static void InitializeNewElementReferenceCaptureFrame(ref DiffContext diffContext, ref RenderTreeFrame newFrame)
         {
-            var newElementRef = ElementRef.CreateWithUniqueId();
-            newFrame = newFrame.WithElementReferenceCaptureId(newElementRef.Id);
-            newFrame.ElementReferenceCaptureAction(newElementRef);
+            var newElementReference = ElementReference.CreateWithUniqueId();
+            newFrame = newFrame.WithElementReferenceCaptureId(newElementReference.Id);
+            newFrame.ElementReferenceCaptureAction(newElementReference);
         }
 
         private static void InitializeNewComponentReferenceCaptureFrame(ref DiffContext diffContext, ref RenderTreeFrame newFrame)

+ 3 - 3
src/Components/Components/src/RenderTree/RenderTreeFrame.cs

@@ -178,7 +178,7 @@ namespace Microsoft.AspNetCore.Components.RenderTree
         /// If the <see cref="FrameType"/> property equals <see cref="RenderTreeFrameType.ElementReferenceCapture"/>,
         /// gets the action that writes the reference to its target. Otherwise, the value is undefined.
         /// </summary>
-        [FieldOffset(24)] public readonly Action<ElementRef> ElementReferenceCaptureAction;
+        [FieldOffset(24)] public readonly Action<ElementReference> ElementReferenceCaptureAction;
 
         // --------------------------------------------------------------------------------
         // RenderTreeFrameType.ComponentReferenceCapture
@@ -279,7 +279,7 @@ namespace Microsoft.AspNetCore.Components.RenderTree
         }
 
         // Element reference capture constructor
-        private RenderTreeFrame(int sequence, Action<ElementRef> elementReferenceCaptureAction, string elementReferenceCaptureId)
+        private RenderTreeFrame(int sequence, Action<ElementReference> elementReferenceCaptureAction, string elementReferenceCaptureId)
             : this()
         {
             FrameType = RenderTreeFrameType.ElementReferenceCapture;
@@ -319,7 +319,7 @@ namespace Microsoft.AspNetCore.Components.RenderTree
         internal static RenderTreeFrame Region(int sequence)
             => new RenderTreeFrame(sequence, regionSubtreeLength: 0);
 
-        internal static RenderTreeFrame ElementReferenceCapture(int sequence, Action<ElementRef> elementReferenceCaptureAction)
+        internal static RenderTreeFrame ElementReferenceCapture(int sequence, Action<ElementReference> elementReferenceCaptureAction)
             => new RenderTreeFrame(sequence, elementReferenceCaptureAction: elementReferenceCaptureAction, elementReferenceCaptureId: null);
 
         internal static RenderTreeFrame ComponentReferenceCapture(int sequence, Action<object> componentReferenceCaptureAction, int parentFrameIndex)

+ 0 - 60
src/Components/Components/src/RuntimeHelpers.cs

@@ -1,60 +0,0 @@
-// 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.Threading.Tasks;
-
-namespace Microsoft.AspNetCore.Components
-{
-    /// <summary>
-    /// Used by generated code produced by the Components code generator. Not intended or supported
-    /// for use in application code.
-    /// </summary>
-    public static class RuntimeHelpers
-    {
-        /// <summary>
-        /// Not intended for use by application code.
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        //
-        // This method is used to create an expression binding site with a compile-time known type. This helps with providing
-        // good error messages, as well as proper method-group-to-delegate conversion when assigning component parameters.
-        public static T TypeCheck<T>(T value) => value;
-
-        /// <summary>
-        /// Not intended for use by application code.
-        /// </summary>
-        /// <param name="receiver"></param>
-        /// <param name="callback"></param>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        //
-        // This method is used with `@bind-Value` for components. When a component has a generic type, it's
-        // really messy to write to try and write the parameter type for ValueChanged - because it can contain generic
-        // type parameters. We're using a trick of type inference to generate the proper typing for the delegate
-        // so that method-group-to-delegate conversion works.
-        public static EventCallback<T> CreateInferredEventCallback<T>(object receiver, Action<T> callback, T value)
-        {
-            return EventCallback.Factory.Create<T>(receiver, callback);
-        }
-
-        /// <summary>
-        /// Not intended for use by application code.
-        /// </summary>
-        /// <param name="receiver"></param>
-        /// <param name="callback"></param>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        //
-        // This method is used with `@bind-Value` for components. When a component has a generic type, it's
-        // really messy to write to try and write the parameter type for ValueChanged - because it can contain generic
-        // type parameters. We're using a trick of type inference to generate the proper typing for the delegate
-        // so that method-group-to-delegate conversion works.
-        public static EventCallback<T> CreateInferredEventCallback<T>(object receiver, Func<T, Task> callback, T value)
-        {
-            return EventCallback.Factory.Create<T>(receiver, callback);
-        }
-    }
-}

+ 7 - 7
src/Components/Components/test/RenderTreeBuilderTest.cs

@@ -600,7 +600,7 @@ namespace Microsoft.AspNetCore.Components.Test
         {
             // Arrange
             var builder = new RenderTreeBuilder(new TestRenderer());
-            Action<ElementRef> referenceCaptureAction = elementRef => { };
+            Action<ElementReference> referenceCaptureAction = elementReference => { };
 
             // Act
             builder.OpenElement(0, "myelement");                    //  0: <myelement
@@ -668,8 +668,8 @@ namespace Microsoft.AspNetCore.Components.Test
 
             // Arrange
             var builder = new RenderTreeBuilder(new TestRenderer());
-            Action<ElementRef> referenceCaptureAction1 = elementRef => { };
-            Action<ElementRef> referenceCaptureAction2 = elementRef => { };
+            Action<ElementReference> referenceCaptureAction1 = elementReference => { };
+            Action<ElementReference> referenceCaptureAction2 = elementReference => { };
 
             // Act
             builder.OpenElement(0, "myelement");
@@ -689,7 +689,7 @@ namespace Microsoft.AspNetCore.Components.Test
         {
             // Arrange
             var builder = new RenderTreeBuilder(new TestRenderer());
-            Action<object> myAction = elementRef => { };
+            Action<object> myAction = elementReference => { };
 
             // Act
             builder.OpenComponent<TestComponent>(0);                //  0: <TestComponent
@@ -757,8 +757,8 @@ namespace Microsoft.AspNetCore.Components.Test
 
             // Arrange
             var builder = new RenderTreeBuilder(new TestRenderer());
-            Action<object> referenceCaptureAction1 = elementRef => { };
-            Action<object> referenceCaptureAction2 = elementRef => { };
+            Action<object> referenceCaptureAction1 = elementReference => { };
+            Action<object> referenceCaptureAction2 = elementReference => { };
 
             // Act
             builder.OpenComponent<TestComponent>(0);
@@ -1625,7 +1625,7 @@ namespace Microsoft.AspNetCore.Components.Test
         public void ProcessDuplicateAttributes_StopsAtFirstNonAttributeFrame_Capture()
         {
             // Arrange
-            var capture = (Action<ElementRef>)((_) => { });
+            var capture = (Action<ElementReference>)((_) => { });
 
             var builder = new RenderTreeBuilder(new TestRenderer());
             builder.OpenElement(0, "div");

+ 5 - 5
src/Components/Components/test/RenderTreeDiffBuilderTest.cs

@@ -1750,9 +1750,9 @@ namespace Microsoft.AspNetCore.Components.Test
         public void AssignsDistinctIdToNewElementReferenceCaptures()
         {
             // Arrange
-            ElementRef ref1 = default, ref2 = default;
-            Action<ElementRef> capture1 = val => { ref1 = val; };
-            Action<ElementRef> capture2 = val => { ref2 = val; };
+            ElementReference ref1 = default, ref2 = default;
+            Action<ElementReference> capture1 = val => { ref1 = val; };
+            Action<ElementReference> capture2 = val => { ref2 = val; };
             newTree.OpenElement(0, "My element");
             newTree.AddElementReferenceCapture(1, capture1);
             newTree.AddElementReferenceCapture(2, capture2);
@@ -1791,8 +1791,8 @@ namespace Microsoft.AspNetCore.Components.Test
         {
             // Arrange
             var refWriteCount = 0;
-            ElementRef ref1 = default;
-            Action<ElementRef> capture1 = val => { ref1 = val; refWriteCount++; };
+            ElementReference ref1 = default;
+            Action<ElementReference> capture1 = val => { ref1 = val; refWriteCount++; };
             oldTree.OpenElement(0, "My element");
             oldTree.AddElementReferenceCapture(1, capture1);
             oldTree.CloseElement();

+ 2 - 2
src/Components/Components/test/RendererTest.cs

@@ -3686,11 +3686,11 @@ namespace Microsoft.AspNetCore.Components.Test
             {
                 builder.OpenElement(0, "input");
                 builder.AddAttribute(1, "type", "checkbox");
-                builder.AddAttribute(2, "value", BindMethods.GetValue(CheckboxEnabled));
+                builder.AddAttribute(2, "value", BindConverter.FormatValue(CheckboxEnabled));
                 builder.AddAttribute(3, "onchange", EventCallback.Factory.CreateBinder<bool>(this, __value => CheckboxEnabled = __value, CheckboxEnabled));
                 builder.CloseElement();
                 builder.OpenElement(4, "input");
-                builder.AddAttribute(5, "value", BindMethods.GetValue(SomeStringProperty));
+                builder.AddAttribute(5, "value", BindConverter.FormatValue(SomeStringProperty));
                 builder.AddAttribute(6, "onchange", EventCallback.Factory.CreateBinder<string>(this, __value => SomeStringProperty = __value, SomeStringProperty));
                 builder.AddAttribute(7, "disabled", !CheckboxEnabled);
                 builder.CloseElement();

+ 1 - 1
src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.netcoreapp3.0.cs

@@ -31,9 +31,9 @@ namespace Microsoft.AspNetCore.Components.Server
     public partial class CircuitOptions
     {
         public CircuitOptions() { }
+        public bool DetailedErrors { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
         public System.TimeSpan DisconnectedCircuitRetentionPeriod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
         public System.TimeSpan JSInteropDefaultCallTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
-        public bool JSInteropDetailedErrors { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
         public int MaxRetainedDisconnectedCircuits { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
     }
     public partial class ComponentPrerenderingContext

+ 3 - 3
src/Components/Server/src/CircuitOptions.cs

@@ -47,15 +47,15 @@ namespace Microsoft.AspNetCore.Components.Server
         public TimeSpan DisconnectedCircuitRetentionPeriod { get; set; } = TimeSpan.FromMinutes(3);
 
         /// <summary>
-        /// Gets or sets a value that determines whether or not to send detailed exception messages from .NET interop method invocation
-        /// exceptions to JavaScript.
+        /// Gets or sets a value that determines whether or not to send detailed exception messages to JavaScript when an unhandled exception
+        /// happens on the circuit or when a .NET method invocation through JS interop results in an exception.
         /// </summary>
         /// <remarks>
         /// This value should only be turned on in development scenarios as turning it on in production might result in the leak of
         /// sensitive information to untrusted parties.
         /// </remarks>
         /// <value>Defaults to <c>false</c>.</value>
-        public bool JSInteropDetailedErrors { get; set; }
+        public bool DetailedErrors { get; set; }
 
         /// <summary>
         /// Gets or sets a value that indicates how long the server will wait before timing out an asynchronous JavaScript function invocation.

+ 163 - 6
src/Components/Server/src/Circuits/CircuitHost.cs

@@ -3,12 +3,13 @@
 
 using System;
 using System.Collections.Generic;
+using System.Text.Json;
 using System.Threading;
 using System.Threading.Tasks;
-using Microsoft.AspNetCore.Components.Web;
-using Microsoft.AspNetCore.Components.Web.Rendering;
 using Microsoft.AspNetCore.Components.Rendering;
 using Microsoft.AspNetCore.Components.Routing;
+using Microsoft.AspNetCore.Components.Web;
+using Microsoft.AspNetCore.Components.Web.Rendering;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 using Microsoft.JSInterop;
@@ -133,7 +134,76 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
             // Dispatch any buffered renders we accumulated during a disconnect.
             // Note that while the rendering is async, we cannot await it here. The Task returned by ProcessBufferedRenderBatches relies on
             // OnRenderCompleted to be invoked to complete, and SignalR does not allow concurrent hub method invocations.
-            var _ = Renderer.Dispatcher.InvokeAsync(() => Renderer.ProcessBufferedRenderBatches());
+            _ = Renderer.Dispatcher.InvokeAsync(() => Renderer.ProcessBufferedRenderBatches());
+        }
+
+        public async Task EndInvokeJSFromDotNet(long asyncCall, bool succeded, string arguments)
+        {
+            try
+            {
+                AssertInitialized();
+
+                await Renderer.Dispatcher.InvokeAsync(() =>
+                {
+                    SetCurrentCircuitHost(this);
+                    if (!succeded)
+                    {
+                        // We can log the arguments here because it is simply the JS error with the call stack.
+                        Log.EndInvokeJSFailed(_logger, asyncCall, arguments);
+                    }
+                    else
+                    {
+                        Log.EndInvokeJSSucceeded(_logger, asyncCall);
+                    }
+
+                    DotNetDispatcher.EndInvoke(arguments);
+                });
+            }
+            catch (Exception ex)
+            {
+                Log.EndInvokeDispatchException(_logger, ex);
+            }
+        }
+
+        public async Task DispatchEvent(string eventDescriptorJson, string eventArgs)
+        {
+            RendererRegistryEventDispatcher.BrowserEventDescriptor eventDescriptor = null;
+            try
+            {
+                AssertInitialized();
+                eventDescriptor = ParseEventDescriptor(eventDescriptorJson);
+                if (eventDescriptor == null)
+                {
+                    return;
+                }
+
+
+                await Renderer.Dispatcher.InvokeAsync(() =>
+                {
+                    SetCurrentCircuitHost(this);
+                    return RendererRegistryEventDispatcher.DispatchEvent(eventDescriptor, eventArgs);
+                });
+            }
+            catch (Exception ex)
+            {
+                Log.DispatchEventFailedToDispatchEvent(_logger, eventDescriptor != null ? eventDescriptor.EventHandlerId.ToString() : null, ex);
+                UnhandledException?.Invoke(this, new UnhandledExceptionEventArgs(ex, isTerminating: false));
+            }
+        }
+
+        private RendererRegistryEventDispatcher.BrowserEventDescriptor ParseEventDescriptor(string eventDescriptorJson)
+        {
+            try
+            {
+                return JsonSerializer.Deserialize<RendererRegistryEventDispatcher.BrowserEventDescriptor>(
+                    eventDescriptorJson,
+                    JsonSerializerOptionsProvider.Options);
+            }
+            catch (Exception ex)
+            {
+                Log.DispatchEventFailedToParseEventDescriptor(_logger, ex);
+                return null;
+            }
         }
 
         public async Task InitializeAsync(CancellationToken cancellationToken)
@@ -170,15 +240,21 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
             });
         }
 
-        public async void BeginInvokeDotNetFromJS(string callId, string assemblyName, string methodIdentifier, long dotNetObjectId, string argsJson)
+        public async Task BeginInvokeDotNetFromJS(string callId, string assemblyName, string methodIdentifier, long dotNetObjectId, string argsJson)
         {
-            AssertInitialized();
-
             try
             {
+                AssertInitialized();
+                if(assemblyName == "Microsoft.AspNetCore.Components.Web" && methodIdentifier == "DispatchEvent")
+                {
+                    Log.DispatchEventTroughJSInterop(_logger);
+                    return;
+                }
+
                 await Renderer.Dispatcher.InvokeAsync(() =>
                 {
                     SetCurrentCircuitHost(this);
+                    Log.BeginInvokeDotNet(_logger, callId, assemblyName, methodIdentifier, dotNetObjectId);
                     DotNetDispatcher.BeginInvoke(callId, assemblyName, methodIdentifier, dotNetObjectId, argsJson);
                 });
             }
@@ -328,6 +404,14 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
             private static readonly Action<ILogger, string, string, Exception> _onConnectionUp;
             private static readonly Action<ILogger, string, string, Exception> _onConnectionDown;
             private static readonly Action<ILogger, string, Exception> _onCircuitClosed;
+            private static readonly Action<ILogger, string, string, string, Exception> _beginInvokeDotNetStatic;
+            private static readonly Action<ILogger, string, long, string, Exception> _beginInvokeDotNetInstance;
+            private static readonly Action<ILogger, Exception> _endInvokeDispatchException;
+            private static readonly Action<ILogger, long, string, Exception> _endInvokeJSFailed;
+            private static readonly Action<ILogger, long, Exception> _endInvokeJSSucceeded;
+            private static readonly Action<ILogger, Exception> _dispatchEventFailedToParseEventDescriptor;
+            private static readonly Action<ILogger, string, Exception> _dispatchEventFailedToDispatchEvent;
+            private static readonly Action<ILogger, Exception> _dispatchEventThroughJSInterop;
 
             private static class EventIds
             {
@@ -337,6 +421,14 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
                 public static readonly EventId OnConnectionUp = new EventId(103, "OnConnectionUp");
                 public static readonly EventId OnConnectionDown = new EventId(104, "OnConnectionDown");
                 public static readonly EventId OnCircuitClosed = new EventId(105, "OnCircuitClosed");
+                public static readonly EventId InvalidBrowserEventFormat = new EventId(106, "InvalidBrowserEventFormat");
+                public static readonly EventId DispatchEventFailedToParseEventDescriptor = new EventId(107, "DispatchEventFailedToParseEventDescriptor");
+                public static readonly EventId DispatchEventFailedToDispatchEvent = new EventId(108, "DispatchEventFailedToDispatchEvent");
+                public static readonly EventId BeginInvokeDotNet = new EventId(109, "BeginInvokeDotNet");
+                public static readonly EventId EndInvokeDispatchException = new EventId(110, "EndInvokeDispatchException");
+                public static readonly EventId EndInvokeJSFailed = new EventId(111, "EndInvokeJSFailed");
+                public static readonly EventId EndInvokeJSSucceeded = new EventId(112, "EndInvokeJSSucceeded");
+                public static readonly EventId DispatchEventThroughJSInterop = new EventId(113, "DispatchEventThroughJSInterop");
             }
 
             static Log()
@@ -370,6 +462,46 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
                    LogLevel.Debug,
                    EventIds.OnCircuitClosed,
                    "Closing circuit with id {CircuitId}.");
+
+                _beginInvokeDotNetStatic = LoggerMessage.Define<string, string, string>(
+                    LogLevel.Debug,
+                    EventIds.BeginInvokeDotNet,
+                    "Invoking static method with identifier '{MethodIdentifier}' on assembly '{Assembly}' with callback id '{CallId}'");
+
+                _beginInvokeDotNetInstance = LoggerMessage.Define<string, long, string>(
+                    LogLevel.Debug,
+                    EventIds.BeginInvokeDotNet,
+                    "Invoking instance method '{MethodIdentifier}' on instance '{DotNetObjectId}' with callback id '{CallId}'");
+
+                _endInvokeDispatchException = LoggerMessage.Define(
+                    LogLevel.Debug,
+                    EventIds.EndInvokeDispatchException,
+                    "There was an error invoking 'Microsoft.JSInterop.DotNetDispatcher.EndInvoke'.");
+
+                _endInvokeJSFailed = LoggerMessage.Define<long, string>(
+                    LogLevel.Debug,
+                    EventIds.EndInvokeJSFailed,
+                    "The JS interop call with callback id '{AsyncCall}' failed with error '{Error}'.");
+
+                _endInvokeJSSucceeded = LoggerMessage.Define<long>(
+                    LogLevel.Debug,
+                    EventIds.EndInvokeJSSucceeded,
+                    "The JS interop call with callback id '{AsyncCall}' succeeded.");
+
+                _dispatchEventFailedToParseEventDescriptor = LoggerMessage.Define(
+                    LogLevel.Debug,
+                    EventIds.DispatchEventFailedToParseEventDescriptor,
+                    "Failed to parse the event descriptor data when trying to dispatch an event.");
+
+                _dispatchEventFailedToDispatchEvent = LoggerMessage.Define<string>(
+                    LogLevel.Debug,
+                    EventIds.DispatchEventFailedToDispatchEvent,
+                    "There was an error dispatching the event '{EventHandlerId}' to the application.");
+
+                _dispatchEventThroughJSInterop = LoggerMessage.Define(
+                    LogLevel.Debug,
+                    EventIds.DispatchEventThroughJSInterop,
+                    "There was an intent to dispatch a browser event through JS interop.");
             }
 
             public static void UnhandledExceptionInvokingCircuitHandler(ILogger logger, CircuitHandler handler, string handlerMethod, Exception exception)
@@ -394,6 +526,31 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
 
             public static void CircuitClosed(ILogger logger, string circuitId) =>
                 _onCircuitClosed(logger, circuitId, null);
+
+            public static void EndInvokeDispatchException(ILogger logger, Exception ex) => _endInvokeDispatchException(logger, ex);
+
+            public static void EndInvokeJSFailed(ILogger logger, long asyncHandle, string arguments) => _endInvokeJSFailed(logger, asyncHandle, arguments, null);
+
+            public static void EndInvokeJSSucceeded(ILogger logger, long asyncCall) => _endInvokeJSSucceeded(logger, asyncCall, null);
+
+            public static void DispatchEventFailedToParseEventDescriptor(ILogger logger, Exception ex) => _dispatchEventFailedToParseEventDescriptor(logger, ex);
+
+            public static void DispatchEventFailedToDispatchEvent(ILogger logger, string eventHandlerId, Exception ex) => _dispatchEventFailedToDispatchEvent(logger, eventHandlerId ?? "", ex);
+
+            public static void BeginInvokeDotNet(ILogger logger, string callId, string assemblyName, string methodIdentifier, long dotNetObjectId)
+            {
+                if (assemblyName != null)
+                {
+                    _beginInvokeDotNetStatic(logger, methodIdentifier, assemblyName, callId, null);
+                }
+                else
+                {
+                    _beginInvokeDotNetInstance(logger, methodIdentifier, dotNetObjectId, callId, null);
+                }
+            }
+
+            public static void DispatchEventTroughJSInterop(ILogger logger) =>
+                _dispatchEventThroughJSInterop(logger, null);
         }
     }
 }

+ 1 - 1
src/Components/Server/src/Circuits/CircuitOptionsJSInteropDetailedErrorsConfiguration.cs

@@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Components.Server
 
         public void Configure(CircuitOptions options)
         {
-            options.JSInteropDetailedErrors = Configuration.GetValue<bool>(WebHostDefaults.DetailedErrorsKey);
+            options.DetailedErrors = Configuration.GetValue<bool>(WebHostDefaults.DetailedErrorsKey);
         }
     }
 }

+ 96 - 8
src/Components/Server/src/Circuits/RemoteJSRuntime.cs

@@ -2,7 +2,10 @@
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 using System;
+using System.Runtime.ExceptionServices;
+using System.Text.Json;
 using Microsoft.AspNetCore.SignalR;
+using Microsoft.Extensions.Logging;
 using Microsoft.Extensions.Options;
 using Microsoft.JSInterop;
 
@@ -11,11 +14,13 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
     internal class RemoteJSRuntime : JSRuntimeBase
     {
         private readonly CircuitOptions _options;
+        private readonly ILogger<RemoteJSRuntime> _logger;
         private CircuitClientProxy _clientProxy;
 
-        public RemoteJSRuntime(IOptions<CircuitOptions> options)
+        public RemoteJSRuntime(IOptions<CircuitOptions> options, ILogger<RemoteJSRuntime> logger)
         {
             _options = options.Value;
+            _logger = logger;
             DefaultAsyncTimeout = _options.JSInteropDefaultCallTimeout;
         }
 
@@ -24,17 +29,36 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
             _clientProxy = clientProxy ?? throw new ArgumentNullException(nameof(clientProxy));
         }
 
-        protected override object OnDotNetInvocationException(Exception exception, string assemblyName, string methodIdentifier)
+        protected override void EndInvokeDotNet(string callId, bool success, object resultOrError, string assemblyName, string methodIdentifier, long dotNetObjectId)
         {
-            if (_options.JSInteropDetailedErrors)
+            if (!success)
             {
-                return base.OnDotNetInvocationException(exception, assemblyName, methodIdentifier);
-            }
+                var actualException = resultOrError is Exception ex ? ex : resultOrError is ExceptionDispatchInfo edi ? edi.SourceException : resultOrError;
+                Log.InvokeDotNetMethodException(_logger, callId, assemblyName, methodIdentifier, dotNetObjectId, actualException as Exception);
+                if (_options.DetailedErrors)
+                {
+                    EndInvokeDotNetCore(callId, success, actualException.ToString());
+                }
+                else
+                {
+                    var message = $"There was an exception invoking '{methodIdentifier}' on assembly '{assemblyName}'. For more details turn on " +
+                        $"detailed exceptions in '{typeof(CircuitOptions).Name}.{nameof(CircuitOptions.DetailedErrors)}'";
 
-            var message = $"There was an exception invoking '{methodIdentifier}' on assembly '{assemblyName}'. For more details turn on " +
-                $"detailed exceptions in '{typeof(CircuitOptions).Name}.{nameof(CircuitOptions.JSInteropDetailedErrors)}'";
+                    EndInvokeDotNetCore(callId, success, message);
+                }
+            }
+            else
+            {
+                Log.InvokeDotNetMethodSuccess(_logger, callId, assemblyName, methodIdentifier, dotNetObjectId);
+                EndInvokeDotNetCore(callId, success, resultOrError);
+            }
+        }
 
-            return message;
+        private void EndInvokeDotNetCore(string callId, bool success, object resultOrError)
+        {
+            _clientProxy.SendAsync(
+                "JS.EndInvokeDotNet",
+                JsonSerializer.Serialize(new[] { callId, success, resultOrError }, JsonSerializerOptionsProvider.Options));
         }
 
         protected override void BeginInvokeJS(long asyncHandle, string identifier, string argsJson)
@@ -47,7 +71,71 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
                     "attempted during prerendering or while the client is disconnected.");
             }
 
+            Log.BeginInvokeJS(_logger, asyncHandle, identifier);
+
             _clientProxy.SendAsync("JS.BeginInvokeJS", asyncHandle, identifier, argsJson);
         }
+
+        public static class Log
+        {
+            private static readonly Action<ILogger, long, string, Exception> _beginInvokeJS =
+                LoggerMessage.Define<long, string>(
+                    LogLevel.Debug,
+                    new EventId(1, "BeginInvokeJS"),
+                    "Begin invoke JS interop '{AsyncHandle}': '{FunctionIdentifier}'");
+
+            private static readonly Action<ILogger, string, string, string, Exception> _invokeStaticDotNetMethodException =
+                LoggerMessage.Define<string, string, string>(
+                LogLevel.Debug,
+                new EventId(2, "InvokeDotNetMethodException"),
+                "There was an error invoking the static method '[{AssemblyName}]::{MethodIdentifier}' with callback id '{CallbackId}'.");
+
+            private static readonly Action<ILogger, string, long, string, Exception> _invokeInstanceDotNetMethodException =
+                LoggerMessage.Define<string, long, string>(
+                LogLevel.Debug,
+                new EventId(2, "InvokeDotNetMethodException"),
+                "There was an error invoking the instance method '{MethodIdentifier}' on reference '{DotNetObjectReference}' with callback id '{CallbackId}'.");
+
+            private static readonly Action<ILogger, string, string, string, Exception> _invokeStaticDotNetMethodSuccess =
+                LoggerMessage.Define<string, string, string>(
+                LogLevel.Debug,
+                new EventId(3, "InvokeDotNetMethodSuccess"),
+                "Invocation of '[{AssemblyName}]::{MethodIdentifier}' with callback id '{CallbackId}' completed successfully.");
+
+            private static readonly Action<ILogger, string, long, string, Exception> _invokeInstanceDotNetMethodSuccess =
+                LoggerMessage.Define<string, long, string>(
+                LogLevel.Debug,
+                new EventId(3, "InvokeDotNetMethodSuccess"),
+                "Invocation of '{MethodIdentifier}' on reference '{DotNetObjectReference}' with callback id '{CallbackId}' completed successfully.");
+
+
+            internal static void BeginInvokeJS(ILogger logger, long asyncHandle, string identifier) =>
+                _beginInvokeJS(logger, asyncHandle, identifier, null);
+
+            internal static void InvokeDotNetMethodException(ILogger logger, string callId, string assemblyName, string methodIdentifier, long dotNetObjectReference, Exception exception)
+            {
+                if (assemblyName != null)
+                {
+                    _invokeStaticDotNetMethodException(logger, assemblyName, methodIdentifier, callId, exception);
+                }
+                else
+                {
+                    _invokeInstanceDotNetMethodException(logger, methodIdentifier, dotNetObjectReference, callId, exception);
+                }
+            }
+
+            internal static void InvokeDotNetMethodSuccess(ILogger<RemoteJSRuntime> logger, string callId, string assemblyName, string methodIdentifier, long dotNetObjectId)
+            {
+                if (assemblyName != null)
+                {
+                    _invokeStaticDotNetMethodSuccess(logger, assemblyName, methodIdentifier, callId, null);
+                }
+                else
+                {
+                    _invokeInstanceDotNetMethodSuccess(logger, methodIdentifier, dotNetObjectId, callId, null);
+                }
+
+            }
+        }
     }
 }

+ 33 - 7
src/Components/Server/src/ComponentHub.cs

@@ -7,8 +7,8 @@ using Microsoft.AspNetCore.Components.Server.Circuits;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Http.Features;
 using Microsoft.AspNetCore.SignalR;
-using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
 
 namespace Microsoft.AspNetCore.Components.Server
 {
@@ -20,17 +20,23 @@ namespace Microsoft.AspNetCore.Components.Server
         private static readonly object CircuitKey = new object();
         private readonly CircuitFactory _circuitFactory;
         private readonly CircuitRegistry _circuitRegistry;
+        private readonly CircuitOptions _options;
         private readonly ILogger _logger;
 
         /// <summary>
         /// Intended for framework use only. Applications should not instantiate
         /// this class directly.
         /// </summary>
-        public ComponentHub(IServiceProvider services, ILogger<ComponentHub> logger)
+        public ComponentHub(
+            CircuitFactory circuitFactory,
+            CircuitRegistry circuitRegistry,
+            ILogger<ComponentHub> logger,
+            IOptions<CircuitOptions> options)
         {
-            _circuitFactory = services.GetRequiredService<CircuitFactory>();
-            _circuitRegistry = services.GetRequiredService<CircuitRegistry>();
-            _logger = logger ?? throw new ArgumentNullException(nameof(logger));
+            _circuitFactory = circuitFactory;
+            _circuitRegistry = circuitRegistry;
+            _options = options.Value;
+            _logger = logger;
         }
 
         /// <summary>
@@ -123,7 +129,17 @@ namespace Microsoft.AspNetCore.Components.Server
         /// </summary>
         public void BeginInvokeDotNetFromJS(string callId, string assemblyName, string methodIdentifier, long dotNetObjectId, string argsJson)
         {
-            EnsureCircuitHost().BeginInvokeDotNetFromJS(callId, assemblyName, methodIdentifier, dotNetObjectId, argsJson);
+            _ = EnsureCircuitHost().BeginInvokeDotNetFromJS(callId, assemblyName, methodIdentifier, dotNetObjectId, argsJson);
+        }
+
+        public void EndInvokeJSFromDotNet(long asyncHandle, bool succeeded, string arguments)
+        {
+            _ = EnsureCircuitHost().EndInvokeJSFromDotNet(asyncHandle, succeeded, arguments);
+        }
+
+        public void DispatchBrowserEvent(string eventDescriptor, string eventArgs)
+        {
+            _ = EnsureCircuitHost().DispatchEvent(eventDescriptor, eventArgs);
         }
 
         /// <summary>
@@ -143,7 +159,17 @@ namespace Microsoft.AspNetCore.Components.Server
             try
             {
                 Log.UnhandledExceptionInCircuit(_logger, circuitId, (Exception)e.ExceptionObject);
-                await circuitHost.Client.SendAsync("JS.Error", e.ExceptionObject);
+                if (_options.DetailedErrors)
+                {
+                    await circuitHost.Client.SendAsync("JS.Error", e.ExceptionObject.ToString());
+                }
+                else
+                {
+                    var message = $"There was an unhandled exception on the current circuit, so this circuit will be terminated. For more details turn on " +
+                        $"detailed exceptions in '{typeof(CircuitOptions).Name}.{nameof(CircuitOptions.DetailedErrors)}'";
+
+                    await circuitHost.Client.SendAsync("JS.Error", message);
+                }
 
                 // We generally can't abort the connection here since this is an async
                 // callback. The Hub has already been torn down. We'll rely on the

+ 2 - 1
src/Components/Server/test/Circuits/TestCircuitHost.cs

@@ -11,6 +11,7 @@ using Microsoft.AspNetCore.SignalR;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 using Microsoft.Extensions.Logging.Abstractions;
+using Microsoft.Extensions.Logging.Testing;
 using Microsoft.Extensions.Options;
 using Moq;
 
@@ -38,7 +39,7 @@ namespace Microsoft.AspNetCore.Components.Server.Circuits
             serviceScope = serviceScope ?? Mock.Of<IServiceScope>();
             clientProxy = clientProxy ?? new CircuitClientProxy(Mock.Of<IClientProxy>(), Guid.NewGuid().ToString());
             var renderRegistry = new RendererRegistry();
-            var jsRuntime = new RemoteJSRuntime(Options.Create(new CircuitOptions()));
+            var jsRuntime = new RemoteJSRuntime(Options.Create(new CircuitOptions()), Mock.Of<ILogger<RemoteJSRuntime>>());
 
             if (remoteRenderer == null)
             {

+ 1 - 1
src/Components/Shared/test/AssertFrame.cs

@@ -123,7 +123,7 @@ namespace Microsoft.AspNetCore.Components.Test.Helpers
             Assert.True(string.IsNullOrWhiteSpace(frame.TextContent));
         }
 
-        public static void ElementReferenceCapture(RenderTreeFrame frame, Action<ElementRef> action, int? sequence = null)
+        public static void ElementReferenceCapture(RenderTreeFrame frame, Action<ElementReference> action, int? sequence = null)
         {
             Assert.Equal(RenderTreeFrameType.ElementReferenceCapture, frame.FrameType);
             Assert.Same(action, frame.ElementReferenceCaptureAction);

File diff suppressed because it is too large
+ 0 - 0
src/Components/Web.JS/dist/Release/blazor.server.js


File diff suppressed because it is too large
+ 0 - 0
src/Components/Web.JS/dist/Release/blazor.webassembly.js


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

@@ -13,7 +13,7 @@
   "devDependencies": {
     "@aspnet/signalr": "link:../../SignalR/clients/ts/signalr",
     "@aspnet/signalr-protocol-msgpack": "link:../../SignalR/clients/ts/signalr-protocol-msgpack",
-    "@dotnet/jsinterop": "3.0.0-preview6.19280.1",
+    "@dotnet/jsinterop": "https://dotnet.myget.org/F/aspnetcore-dev/npm/@dotnet/jsinterop/-/@dotnet/jsinterop-3.0.0-preview8.19367.2.tgz",
     "@types/emscripten": "0.0.31",
     "@types/jest": "^24.0.6",
     "@types/jsdom": "11.0.6",

+ 10 - 1
src/Components/Web.JS/src/Boot.Server.ts

@@ -9,6 +9,7 @@ import RenderQueue from './Platform/Circuits/RenderQueue';
 import { ConsoleLogger } from './Platform/Logging/Loggers';
 import { LogLevel, ILogger } from './Platform/Logging/ILogger';
 import { discoverPrerenderedCircuits, startCircuit } from './Platform/Circuits/CircuitManager';
+import { setEventDispatcher } from './Rendering/RendererEventDispatcher';
 
 
 type SignalRBuilder = (builder: signalR.HubConnectionBuilder) => void;
@@ -109,7 +110,12 @@ async function initializeConnection(options: Required<BlazorOptions>, circuitHan
 
   const connection = connectionBuilder.build();
 
+  setEventDispatcher((descriptor, args) => {
+    return connection.send('DispatchBrowserEvent', JSON.stringify(descriptor), JSON.stringify(args));
+  });
+
   connection.on('JS.BeginInvokeJS', DotNet.jsCallDispatcher.beginInvokeJSFromDotNet);
+  connection.on('JS.EndInvokeDotNet', (args: string) => DotNet.jsCallDispatcher.endInvokeDotNetFromJS(...(JSON.parse(args) as [string, boolean, unknown])));
   connection.on('JS.RenderBatch', (browserRendererId: number, batchId: number, batchData: Uint8Array) => {
     logger.log(LogLevel.Debug, `Received render batch for ${browserRendererId} with id ${batchId} and ${batchData.byteLength} bytes.`);
 
@@ -130,9 +136,12 @@ async function initializeConnection(options: Required<BlazorOptions>, circuitHan
   }
 
   DotNet.attachDispatcher({
-    beginInvokeDotNetFromJS: (callId, assemblyName, methodIdentifier, dotNetObjectId, argsJson) => {
+    beginInvokeDotNetFromJS: (callId, assemblyName, methodIdentifier, dotNetObjectId, argsJson): void => {
       connection.send('BeginInvokeDotNetFromJS', callId ? callId.toString() : null, assemblyName, methodIdentifier, dotNetObjectId || 0, argsJson);
     },
+    endInvokeJSFromDotNet: (asyncHandle, succeeded, argsJson): void => {
+      connection.send('EndInvokeJSFromDotNet', asyncHandle, succeeded, argsJson);
+    },
   });
 
   return connection;

+ 5 - 2
src/Components/Web.JS/src/Boot.WebAssembly.ts

@@ -7,16 +7,19 @@ import { renderBatch } from './Rendering/Renderer';
 import { SharedMemoryRenderBatch } from './Rendering/RenderBatch/SharedMemoryRenderBatch';
 import { Pointer } from './Platform/Platform';
 import { fetchBootConfigAsync, loadEmbeddedResourcesAsync, shouldAutoStart } from './BootCommon';
+import { setEventDispatcher } from './Rendering/RendererEventDispatcher';
 
 let started = false;
 
-async function boot(options?: any) {
+async function boot(options?: any): Promise<void> {
 
   if (started) {
     throw new Error('Blazor has already started.');
   }
   started = true;
 
+  setEventDispatcher((eventDescriptor, eventArgs) => DotNet.invokeMethodAsync('Microsoft.AspNetCore.Components.Web', 'DispatchEvent', eventDescriptor, JSON.stringify(eventArgs)));
+
   // Configure environment for execution under Mono WebAssembly with shared-memory rendering
   const platform = Environment.setPlatform(monoPlatform);
   window['Blazor'].platform = platform;
@@ -54,4 +57,4 @@ async function boot(options?: any) {
 window['Blazor'].start = boot;
 if (shouldAutoStart()) {
   boot();
-}
+}

+ 17 - 7
src/Components/Web.JS/src/Platform/Mono/MonoPlatform.ts

@@ -281,7 +281,7 @@ function createEmscriptenModuleInstance(loadAssemblyUrls: string[], onReady: ()
   });
 
   module.postRun.push(() => {
-    MONO.mono_wasm_setenv("MONO_URI_DOTNETRELATIVEORABSOLUTE","true");
+    MONO.mono_wasm_setenv("MONO_URI_DOTNETRELATIVEORABSOLUTE", "true");
     const load_runtime = Module.cwrap('mono_wasm_load_runtime', null, ['string', 'number']);
     load_runtime(appBinDirName, hasDebuggingEnabled() ? 1 : 0);
     MONO.mono_wasm_runtime_is_ready = true;
@@ -298,7 +298,7 @@ function toAbsoluteUrl(possiblyRelativeUrl: string) {
   return anchorTagForAbsoluteUrlConversions.href;
 }
 
-function asyncLoad(url) {
+function asyncLoad(url: string) {
   return new Promise<Uint8Array>((resolve, reject) => {
     const xhr = new XMLHttpRequest();
     xhr.open('GET', url, /* async: */ true);
@@ -320,26 +320,36 @@ function getArrayDataPointer<T>(array: System_Array<T>): number {
   return <number><any>array + 12; // First byte from here is length, then following bytes are entries
 }
 
-function attachInteropInvoker() {
+function attachInteropInvoker(): void {
   const dotNetDispatcherInvokeMethodHandle = findMethod('Mono.WebAssembly.Interop', 'Mono.WebAssembly.Interop', 'MonoWebAssemblyJSRuntime', 'InvokeDotNet');
   const dotNetDispatcherBeginInvokeMethodHandle = findMethod('Mono.WebAssembly.Interop', 'Mono.WebAssembly.Interop', 'MonoWebAssemblyJSRuntime', 'BeginInvokeDotNet');
+  const dotNetDispatcherEndInvokeJSMethodHandle = findMethod('Mono.WebAssembly.Interop', 'Mono.WebAssembly.Interop', 'MonoWebAssemblyJSRuntime', 'EndInvokeJS');
 
   DotNet.attachDispatcher({
-    beginInvokeDotNetFromJS: (callId, assemblyName, methodIdentifier, dotNetObjectId, argsJson) => {
+    beginInvokeDotNetFromJS: (callId: number, assemblyName: string | null, methodIdentifier: string, dotNetObjectId: any | null, argsJson: string): void => {
+      if (!dotNetObjectId && !assemblyName) {
+        throw new Error('Either assemblyName or dotNetObjectId must have a non null value.');
+      }
       // As a current limitation, we can only pass 4 args. Fortunately we only need one of
       // 'assemblyName' or 'dotNetObjectId', so overload them in a single slot
-      const assemblyNameOrDotNetObjectId = dotNetObjectId
+      const assemblyNameOrDotNetObjectId: string = dotNetObjectId
         ? dotNetObjectId.toString()
         : assemblyName;
 
       monoPlatform.callMethod(dotNetDispatcherBeginInvokeMethodHandle, null, [
         callId ? monoPlatform.toDotNetString(callId.toString()) : null,
-        monoPlatform.toDotNetString(assemblyNameOrDotNetObjectId!),
+        monoPlatform.toDotNetString(assemblyNameOrDotNetObjectId),
         monoPlatform.toDotNetString(methodIdentifier),
         monoPlatform.toDotNetString(argsJson),
       ]);
     },
-
+    endInvokeJSFromDotNet: (asyncHandle, succeeded, serializedArgs): void => {
+      monoPlatform.callMethod(
+        dotNetDispatcherEndInvokeJSMethodHandle,
+        null,
+        [monoPlatform.toDotNetString(serializedArgs)]
+      );
+    },
     invokeDotNetFromJS: (assemblyName, methodIdentifier, dotNetObjectId, argsJson) => {
       const resultJsonStringPtr = monoPlatform.callMethod(dotNetDispatcherInvokeMethodHandle, null, [
         assemblyName ? monoPlatform.toDotNetString(assemblyName) : null,

+ 18 - 9
src/Components/Web.JS/src/Rendering/BrowserRenderer.ts

@@ -1,9 +1,10 @@
 import { RenderBatch, ArrayBuilderSegment, RenderTreeEdit, RenderTreeFrame, EditType, FrameType, ArrayValues } from './RenderBatch/RenderBatch';
 import { EventDelegator } from './EventDelegator';
-import { EventForDotNet, UIEventArgs } from './EventForDotNet';
+import { EventForDotNet, UIEventArgs, EventArgsType } from './EventForDotNet';
 import { LogicalElement, PermutationListEntry, toLogicalElement, insertLogicalChild, removeLogicalChild, getLogicalParent, getLogicalChild, createAndInsertLogicalContainer, isSvgElement, getLogicalChildrenArray, getLogicalSiblingEnd, permuteLogicalChildren, getClosestDomElement } from './LogicalElements';
 import { applyCaptureIdToElement } from './ElementReferenceCapture';
 import { EventFieldInfo } from './EventFieldInfo';
+import { dispatchEvent } from './RendererEventDispatcher';
 const selectValuePropname = '_blazorSelectValue';
 const sharedTemplateElemForParsing = document.createElement('template');
 const sharedSvgElemForParsing = document.createElementNS('http://www.w3.org/2000/svg', 'g');
@@ -398,6 +399,13 @@ export interface ComponentDescriptor {
   end: Node;
 }
 
+export interface EventDescriptor {
+  browserRendererId: number;
+  eventHandlerId: number;
+  eventArgsType: EventArgsType;
+  eventFieldInfo: EventFieldInfo | null;
+}
+
 function parseMarkup(markup: string, isSvg: boolean) {
   if (isSvg) {
     sharedSvgElemForParsing.innerHTML = markup || ' ';
@@ -423,7 +431,13 @@ function countDescendantFrames(batch: RenderBatch, frame: RenderTreeFrame): numb
   }
 }
 
-function raiseEvent(event: Event, browserRendererId: number, eventHandlerId: number, eventArgs: EventForDotNet<UIEventArgs>, eventFieldInfo: EventFieldInfo | null) {
+function raiseEvent(
+  event: Event,
+  browserRendererId: number,
+  eventHandlerId: number,
+  eventArgs: EventForDotNet<UIEventArgs>,
+  eventFieldInfo: EventFieldInfo | null
+): void {
   if (preventDefaultEvents[event.type]) {
     event.preventDefault();
   }
@@ -435,12 +449,7 @@ function raiseEvent(event: Event, browserRendererId: number, eventHandlerId: num
     eventFieldInfo: eventFieldInfo,
   };
 
-  return DotNet.invokeMethodAsync(
-    'Microsoft.AspNetCore.Components.Web',
-    'DispatchEvent',
-    eventDescriptor,
-    JSON.stringify(eventArgs.data)
-  );
+  dispatchEvent(eventDescriptor, eventArgs.data);
 }
 
 function clearElement(element: Element) {
@@ -452,7 +461,7 @@ function clearElement(element: Element) {
 
 function clearBetween(start: Node, end: Node): void {
   const logicalParent = getLogicalParent(start as unknown as LogicalElement);
-  if (!logicalParent){
+  if (!logicalParent) {
     throw new Error("Can't clear between nodes. The start node does not have a logical parent.");
   }
   const children = getLogicalChildrenArray(logicalParent);

+ 1 - 1
src/Components/Web.JS/src/Rendering/EventForDotNet.ts

@@ -210,7 +210,7 @@ function isCheckbox(element: Element | null) {
 
 // The following interfaces must be kept in sync with the UIEventArgs C# classes
 
-type EventArgsType = 'change' | 'clipboard' | 'drag' | 'error' | 'focus' | 'keyboard' | 'mouse' | 'pointer' | 'progress' | 'touch' | 'unknown' | 'wheel';
+export type EventArgsType = 'change' | 'clipboard' | 'drag' | 'error' | 'focus' | 'keyboard' | 'mouse' | 'pointer' | 'progress' | 'touch' | 'unknown' | 'wheel';
 
 export interface UIEventArgs {
   type: string;

+ 2 - 2
src/Components/Web.JS/src/Rendering/Renderer.ts

@@ -1,6 +1,6 @@
 /* eslint-disable @typescript-eslint/camelcase */
-import { System_Object, System_String, System_Array, MethodHandle, Pointer } from '../Platform/Platform';
-import { platform } from '../Environment';
+import '../Platform/Platform';
+import '../Environment';
 import { RenderBatch } from './RenderBatch/RenderBatch';
 import { BrowserRenderer } from './BrowserRenderer';
 import { toLogicalElement, LogicalElement } from './LogicalElements';

+ 18 - 0
src/Components/Web.JS/src/Rendering/RendererEventDispatcher.ts

@@ -0,0 +1,18 @@
+import { EventDescriptor } from './BrowserRenderer';
+import { UIEventArgs } from './EventForDotNet';
+
+type EventDispatcher = (eventDescriptor: EventDescriptor, eventArgs: UIEventArgs) => void;
+
+let eventDispatcherInstance: EventDispatcher;
+
+export function dispatchEvent(eventDescriptor: EventDescriptor, eventArgs: UIEventArgs): void {
+  if (!eventDispatcherInstance) {
+    throw new Error('eventDispatcher not initialized. Call \'setEventDispatcher\' to configure it.');
+  }
+
+  return eventDispatcherInstance(eventDescriptor, eventArgs);
+}
+
+export function setEventDispatcher(newDispatcher: (eventDescriptor: EventDescriptor, eventArgs: UIEventArgs) => Promise<void>): void {
+  eventDispatcherInstance = newDispatcher;
+}

+ 3 - 4
src/Components/Web.JS/yarn.lock

@@ -139,10 +139,9 @@
     lodash "^4.17.11"
     to-fast-properties "^2.0.0"
 
-"@dotnet/[email protected]":
-  version "3.0.0-preview6.19280.1"
-  resolved "https://dotnet.myget.org/F/aspnetcore-dev/npm/@dotnet/jsinterop/-/@dotnet/jsinterop-3.0.0-preview6.19280.1.tgz#4c991132f33157de93bc3b6db93cffc9e964b241"
-  integrity sha1-TJkRMvMxV96TvDttuTz/yelkskE=
+"@dotnet/jsinterop@https://dotnet.myget.org/F/aspnetcore-dev/npm/@dotnet/jsinterop/-/@dotnet/jsinterop-3.0.0-preview8.19367.2.tgz":
+  version "3.0.0-preview8.19367.2"
+  resolved "https://dotnet.myget.org/F/aspnetcore-dev/npm/@dotnet/jsinterop/-/@dotnet/jsinterop-3.0.0-preview8.19367.2.tgz#885d87c9406ad0bbce878ff041d50342d03b2c86"
 
 "@microsoft/signalr@link:../../SignalR/clients/ts/signalr":
   version "0.0.0"

+ 1 - 2
src/Components/Web/src/RendererRegistryEventDispatcher.cs

@@ -18,8 +18,7 @@ namespace Microsoft.AspNetCore.Components.Web
         /// For framework use only.
         /// </summary>
         [JSInvokable(nameof(DispatchEvent))]
-        public static Task DispatchEvent(
-            BrowserEventDescriptor eventDescriptor, string eventArgsJson)
+        public static Task DispatchEvent(BrowserEventDescriptor eventDescriptor, string eventArgsJson)
         {
             InterpretEventDescriptor(eventDescriptor);
             var eventArgs = ParseEventArgsJson(eventDescriptor.EventArgsType, eventArgsJson);

+ 7 - 7
src/Components/test/E2ETest/Infrastructure/ServerFixtures/WebHostServerFixture.cs

@@ -1,4 +1,4 @@
-// Copyright (c) .NET Foundation. All rights reserved.
+// Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 using Microsoft.AspNetCore.Hosting;
@@ -9,22 +9,22 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures
 {
     public abstract class WebHostServerFixture : ServerFixture
     {
-        private IWebHost _host;
-
         protected override string StartAndGetRootUri()
         {
-            _host = CreateWebHost();
-            RunInBackgroundThread(_host.Start);
-            return _host.ServerFeatures
+            Host = CreateWebHost();
+            RunInBackgroundThread(Host.Start);
+            return Host.ServerFeatures
                 .Get<IServerAddressesFeature>()
                 .Addresses.Single();
         }
 
+        public IWebHost Host { get; set; }
+
         public override void Dispose()
         {
             // This can be null if creating the webhost throws, we don't want to throw here and hide
             // the original exception.
-            _host?.StopAsync();
+            Host?.StopAsync();
         }
 
         protected abstract IWebHost CreateWebHost();

+ 234 - 46
src/Components/test/E2ETest/ServerExecutionTests/InteropReliabilityTests.cs

@@ -8,6 +8,11 @@ using System.Text.Json;
 using System.Threading.Tasks;
 using Ignitor;
 using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
+using Microsoft.AspNetCore.Components.Web;
+using Microsoft.AspNetCore.SignalR.Client;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Testing;
 using Xunit;
 
 namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
@@ -31,9 +36,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             // Arrange
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027WriteAllText\\u0027 on assembly \\u0027System.IO.FileSystem\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
-
-            var (interopCalls, batches) = ConfigureClient();
+                "\"There was an exception invoking \\u0027WriteAllText\\u0027 on assembly \\u0027System.IO.FileSystem\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
+            var (_, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
@@ -45,7 +49,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 JsonSerializer.Serialize(new[] { ".\\log.txt", "log" }));
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+            Assert.Single(dotNetCompletions, expectedError);
 
             await ValidateClientKeepsWorking(Client, batches);
         }
@@ -56,9 +60,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             // Arrange
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027MadeUpMethod\\u0027 on assembly \\u0027BasicTestApp\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
-
-            var (interopCalls, batches) = ConfigureClient();
+                "\"There was an exception invoking \\u0027MadeUpMethod\\u0027 on assembly \\u0027BasicTestApp\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
+            var (_, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
@@ -70,7 +73,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 JsonSerializer.Serialize(new[] { ".\\log.txt", "log" }));
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+            Assert.Single(dotNetCompletions, expectedError);
             await ValidateClientKeepsWorking(Client, batches);
         }
 
@@ -80,9 +83,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             // Arrange
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027NotifyLocationChanged\\u0027 on assembly \\u0027Microsoft.AspNetCore.Components.Server\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
-
-            var (interopCalls, batches) = ConfigureClient();
+                "\"There was an exception invoking \\u0027NotifyLocationChanged\\u0027 on assembly \\u0027Microsoft.AspNetCore.Components.Server\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
+            var (_, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
@@ -94,7 +96,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 JsonSerializer.Serialize(new[] { _serverFixture.RootUri }));
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+            Assert.Single(dotNetCompletions, expectedError);
 
             await ValidateClientKeepsWorking(Client, batches);
         }
@@ -105,9 +107,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             // Arrange
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027NotifyLocationChanged\\u0027 on assembly \\u0027\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
-
-            var (interopCalls, batches) = ConfigureClient();
+                "\"There was an exception invoking \\u0027NotifyLocationChanged\\u0027 on assembly \\u0027\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
+            var (_, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
@@ -119,7 +120,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 JsonSerializer.Serialize(new object[] { _serverFixture.RootUri + "counter", false }));
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+            Assert.Single(dotNetCompletions, expectedError);
 
             await ValidateClientKeepsWorking(Client, batches);
         }
@@ -130,9 +131,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             // Arrange
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027\\u0027 on assembly \\u0027Microsoft.AspNetCore.Components.Server\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
-
-            var (interopCalls, batches) = ConfigureClient();
+                "\"There was an exception invoking \\u0027\\u0027 on assembly \\u0027Microsoft.AspNetCore.Components.Server\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
+            var (_, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
@@ -144,7 +144,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 JsonSerializer.Serialize(new object[] { _serverFixture.RootUri + "counter", false }));
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+            Assert.Single(dotNetCompletions, expectedError);
 
             await ValidateClientKeepsWorking(Client, batches);
         }
@@ -156,8 +156,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             var expectedDotNetObjectRef = "[\"1\",true,{\"__dotNetObject\":1}]";
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027Reverse\\u0027 on assembly \\u0027\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
-            var (interopCalls, batches) = ConfigureClient();
+                "\"There was an exception invoking \\u0027Reverse\\u0027 on assembly \\u0027\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
+            var (_, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
@@ -168,7 +168,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 null,
                 JsonSerializer.Serialize(Array.Empty<object>()));
 
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedDotNetObjectRef));
+            Assert.Single(dotNetCompletions, expectedDotNetObjectRef);
 
             await Client.InvokeDotNetMethod(
                 "1",
@@ -178,7 +178,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 JsonSerializer.Serialize(Array.Empty<object>()));
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", "[\"1\",true,\"tnatropmI\"]"));
+            Assert.Single(dotNetCompletions, "[\"1\",true,\"tnatropmI\"]");
 
             await Client.InvokeDotNetMethod(
                 "1",
@@ -186,8 +186,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 "Reverse",
                 3, // non existing ref
                 JsonSerializer.Serialize(Array.Empty<object>()));
-            
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+
+            Assert.Single(dotNetCompletions, expectedError);
 
             await ValidateClientKeepsWorking(Client, batches);
         }
@@ -199,9 +199,9 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             var expectedImportantDotNetObjectRef = "[\"1\",true,{\"__dotNetObject\":1}]";
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027ReceiveTrivial\\u0027 on assembly \\u0027BasicTestApp\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
+                "\"There was an exception invoking \\u0027ReceiveTrivial\\u0027 on assembly \\u0027BasicTestApp\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
 
-            var (interopCalls, batches) = ConfigureClient();
+            var (interopCalls, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             await Client.InvokeDotNetMethod(
@@ -211,7 +211,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 null,
                 JsonSerializer.Serialize(Array.Empty<object>()));
 
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedImportantDotNetObjectRef));
+            Assert.Single(dotNetCompletions, expectedImportantDotNetObjectRef);
 
             // Act
             await Client.InvokeDotNetMethod(
@@ -222,7 +222,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 JsonSerializer.Serialize(new object[] { new { __dotNetObject = 1 } }));
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+            Assert.Single(dotNetCompletions, expectedError);
 
             await ValidateClientKeepsWorking(Client, batches);
         }
@@ -233,37 +233,95 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             // Arrange
             var expectedError = "An exception occurred executing JS interop: The JSON value could not be converted to System.Int32. Path: $ | LineNumber: 0 | BytePositionInLine: 3.. See InnerException for more details.";
 
-            var (interopCalls, batches) = ConfigureClient();
+            var (interopCalls, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
-            await Client.ClickAsync("triggerjsinterop");
+            await Client.ClickAsync("triggerjsinterop-malformed");
 
             Assert.Single(interopCalls, (4, "sendMalformedCallbackReturn", (string)null));
 
-            await Client.InvokeDotNetMethod(
-                0,
-                "Microsoft.JSInterop",
-                "DotNetDispatcher.EndInvoke",
-                null,
+            await Client.HubConnection.InvokeAsync(
+                "EndInvokeJSFromDotNet",
+                4,
+                true,
                 "[4, true, \"{\"]");
 
             var text = Assert.Single(
-                Client.FindElementById("errormessage").Children.OfType<TextNode>(),
+                Client.FindElementById("errormessage-malformed").Children.OfType<TextNode>(),
                 e => expectedError == e.TextContent);
 
             await ValidateClientKeepsWorking(Client, batches);
         }
 
+        [Fact]
+        public async Task LogsJSInteropCompletionsCallbacksAndContinuesWorkingInAllSituations()
+        {
+            // Arrange
+
+            var (interopCalls, dotNetCompletions, batches) = ConfigureClient();
+            await GoToTestComponent(batches);
+            var sink = _serverFixture.Host.Services.GetRequiredService<TestSink>();
+            var logEvents = new List<(LogLevel logLevel, string)>();
+            sink.MessageLogged += (wc) => logEvents.Add((wc.LogLevel, wc.EventId.Name));
+            // Act
+            await Client.ClickAsync("triggerjsinterop-malformed");
+
+            Assert.Single(interopCalls, (4, "sendMalformedCallbackReturn", (string)null));
+
+            await Client.HubConnection.InvokeAsync(
+                "EndInvokeJSFromDotNet",
+                4,
+                true,
+                "[4, true, }");
+
+            // A completely malformed payload like the one above never gets to the application.
+            Assert.Single(
+                Client.FindElementById("errormessage-malformed").Children.OfType<TextNode>(),
+                e => "" == e.TextContent);
+
+            Assert.Contains((LogLevel.Debug, "EndInvokeDispatchException"), logEvents);
+
+            await Client.ClickAsync("triggerjsinterop-success");
+            await Client.HubConnection.InvokeAsync(
+                "EndInvokeJSFromDotNet",
+                5,
+                true,
+                "[5, true, null]");
+
+            Assert.Single(
+                Client.FindElementById("errormessage-success").Children.OfType<TextNode>(),
+                e => "" == e.TextContent);
+
+            Assert.Contains((LogLevel.Debug, "EndInvokeJSSucceeded"), logEvents);
+
+            await Client.ClickAsync("triggerjsinterop-failure");
+            await Client.HubConnection.InvokeAsync(
+                "EndInvokeJSFromDotNet",
+                6,
+                false,
+                "[6, false, \"There was an error invoking sendFailureCallbackReturn\"]");
+
+            Assert.Single(
+                Client.FindElementById("errormessage-failure").Children.OfType<TextNode>(),
+                e => "There was an error invoking sendFailureCallbackReturn" == e.TextContent);
+
+            Assert.Contains((LogLevel.Debug, "EndInvokeJSFailed"), logEvents);
+
+            Assert.DoesNotContain(logEvents, m => m.logLevel > LogLevel.Information);
+
+            await ValidateClientKeepsWorking(Client, batches);
+        }
+
         [Fact]
         public async Task CannotInvokeJSInvokableMethodsWithInvalidArgumentsPayload()
         {
             // Arrange
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027NotifyLocationChanged\\u0027 on assembly \\u0027Microsoft.AspNetCore.Components.Server\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
+                "\"There was an exception invoking \\u0027NotifyLocationChanged\\u0027 on assembly \\u0027Microsoft.AspNetCore.Components.Server\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
 
-            var (interopCalls, batches) = ConfigureClient();
+            var (_, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
@@ -275,7 +333,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 "[ \"invalidPayload\"}");
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+            Assert.Single(dotNetCompletions, expectedError);
             await ValidateClientKeepsWorking(Client, batches);
         }
 
@@ -285,9 +343,9 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             // Arrange
             var expectedError = "[\"1\"," +
                 "false," +
-                "\"There was an exception invoking \\u0027ReceiveTrivial\\u0027 on assembly \\u0027BasicTestApp\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.JSInteropDetailedErrors\\u0027\"]";
+                "\"There was an exception invoking \\u0027ReceiveTrivial\\u0027 on assembly \\u0027BasicTestApp\\u0027. For more details turn on detailed exceptions in \\u0027CircuitOptions.DetailedErrors\\u0027\"]";
 
-            var (interopCalls, batches) = ConfigureClient();
+            var (_, dotNetCompletions, batches) = ConfigureClient();
             await GoToTestComponent(batches);
 
             // Act
@@ -299,10 +357,138 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
                 "[ { \"data\": {\"}} ]");
 
             // Assert
-            Assert.Single(interopCalls, (0, "DotNet.jsCallDispatcher.endInvokeDotNetFromJS", expectedError));
+            Assert.Single(dotNetCompletions, expectedError);
             await ValidateClientKeepsWorking(Client, batches);
         }
 
+        [Fact]
+        public async Task DispatchingEventsWithInvalidPayloadsDoesNotCrashTheCircuit()
+        {
+            // Arrange
+            var (interopCalls, dotNetCompletions, batches) = ConfigureClient();
+            await GoToTestComponent(batches);
+            var sink = _serverFixture.Host.Services.GetRequiredService<TestSink>();
+            var logEvents = new List<(LogLevel logLevel, string)>();
+            sink.MessageLogged += (wc) => logEvents.Add((wc.LogLevel, wc.EventId.Name));
+
+            // Act
+            await Client.HubConnection.InvokeAsync(
+                "DispatchBrowserEvent",
+                null,
+                null);
+
+            Assert.Contains(
+                (LogLevel.Debug, "DispatchEventFailedToParseEventDescriptor"),
+                logEvents);
+
+            await ValidateClientKeepsWorking(Client, batches);
+        }
+
+        [Fact]
+        public async Task DispatchingEventsWithInvalidUIEventArgs()
+        {
+            // Arrange
+            var (interopCalls, dotNetCompletions, batches) = ConfigureClient();
+            await GoToTestComponent(batches);
+            var sink = _serverFixture.Host.Services.GetRequiredService<TestSink>();
+            var logEvents = new List<(LogLevel logLevel, string)>();
+            sink.MessageLogged += (wc) => logEvents.Add((wc.LogLevel, wc.EventId.Name));
+
+            // Act
+            var browserDescriptor = new RendererRegistryEventDispatcher.BrowserEventDescriptor()
+            {
+                BrowserRendererId = 0,
+                EventHandlerId = 6,
+                EventArgsType = "mouse",
+            };
+
+            await Client.HubConnection.InvokeAsync(
+                "DispatchBrowserEvent",
+                JsonSerializer.Serialize(browserDescriptor, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }),
+                "{Invalid:{\"payload}");
+
+            Assert.Contains(
+                (LogLevel.Debug, "DispatchEventFailedToDispatchEvent"),
+                logEvents);
+
+            await ValidateClientKeepsWorking(Client, batches);
+        }
+
+        [Fact]
+        public async Task DispatchingEventsWithInvalidEventHandlerId()
+        {
+            // Arrange
+            var (interopCalls, dotNetCompletions, batches) = ConfigureClient();
+            await GoToTestComponent(batches);
+            var sink = _serverFixture.Host.Services.GetRequiredService<TestSink>();
+            var logEvents = new List<(LogLevel logLevel, string eventIdName, Exception exception)>();
+            sink.MessageLogged += (wc) => logEvents.Add((wc.LogLevel, wc.EventId.Name, wc.Exception));
+
+            // Act
+            var mouseEventArgs = new UIMouseEventArgs()
+            {
+                Type = "click",
+                Detail = 1
+            };
+            var browserDescriptor = new RendererRegistryEventDispatcher.BrowserEventDescriptor()
+            {
+                BrowserRendererId = 0,
+                EventHandlerId = 1,
+                EventArgsType = "mouse",
+            };
+
+            await Client.HubConnection.InvokeAsync(
+                "DispatchBrowserEvent",
+                JsonSerializer.Serialize(browserDescriptor, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }),
+                JsonSerializer.Serialize(mouseEventArgs, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }));
+
+            Assert.Contains(
+                logEvents,
+                e => e.eventIdName == "DispatchEventFailedToDispatchEvent" && e.logLevel == LogLevel.Debug &&
+                     e.exception is ArgumentException ae && ae.Message.Contains("There is no event handler with ID -1"));
+
+            await ValidateClientKeepsWorking(Client, batches);
+        }
+
+        [Fact]
+        public async Task DispatchingEventThroughJSInterop()
+        {
+            // Arrange
+            var (interopCalls, dotNetCompletions, batches) = ConfigureClient();
+            await GoToTestComponent(batches);
+            var sink = _serverFixture.Host.Services.GetRequiredService<TestSink>();
+            var logEvents = new List<(LogLevel logLevel, string eventIdName)>();
+            sink.MessageLogged += (wc) => logEvents.Add((wc.LogLevel, wc.EventId.Name));
+
+            // Act
+            var mouseEventArgs = new UIMouseEventArgs()
+            {
+                Type = "click",
+                Detail = 1
+            };
+            var browserDescriptor = new RendererRegistryEventDispatcher.BrowserEventDescriptor()
+            {
+                BrowserRendererId = 0,
+                EventHandlerId = 1,
+                EventArgsType = "mouse",
+            };
+
+            var serializerOptions = new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase };
+            var uiArgs = JsonSerializer.Serialize(mouseEventArgs, serializerOptions);
+
+            await Assert.ThrowsAsync<TaskCanceledException>(() => Client.InvokeDotNetMethod(
+                0,
+                "Microsoft.AspNetCore.Components.Web",
+                "DispatchEvent",
+                null,
+                JsonSerializer.Serialize(new object[] { browserDescriptor, uiArgs }, serializerOptions)));
+
+            Assert.Contains(
+                (LogLevel.Debug, "DispatchEventThroughJSInterop"),
+                logEvents);
+
+            await ValidateClientKeepsWorking(Client, batches);
+        }
 
         private Task ValidateClientKeepsWorking(BlazorClient Client, List<(int, int, byte[])> batches) =>
             ValidateClientKeepsWorking(Client, () => batches.Count);
@@ -325,13 +511,15 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
             Assert.Equal(2, batches.Count);
         }
 
-        private (List<(int, string, string)>, List<(int, int, byte[])>) ConfigureClient()
+        private (List<(int, string, string)>, List<string>, List<(int, int, byte[])>) ConfigureClient()
         {
             var interopCalls = new List<(int, string, string)>();
             Client.JSInterop += (int arg1, string arg2, string arg3) => interopCalls.Add((arg1, arg2, arg3));
             var batches = new List<(int, int, byte[])>();
             Client.RenderBatchReceived += (id, renderer, data) => batches.Add((id, renderer, data));
-            return (interopCalls, batches);
+            var endInvokeDotNetCompletions = new List<string>();
+            Client.DotNetInteropCompletion += (completion) => endInvokeDotNetCompletions.Add(completion);
+            return (interopCalls, endInvokeDotNetCompletions, batches);
         }
     }
 }

+ 1 - 1
src/Components/test/E2ETest/ServerExecutionTests/ServerInteropTestDefaultExceptionsBehavior.cs

@@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
 
             string GetExpectedMessage(string method) =>
                 $"\"There was an exception invoking '{method}' on assembly 'BasicTestApp'. For more details turn on " +
-                $"detailed exceptions in '{typeof(CircuitOptions).Name}.{nameof(CircuitOptions.JSInteropDetailedErrors)}'\"";
+                $"detailed exceptions in '{typeof(CircuitOptions).Name}.{nameof(CircuitOptions.DetailedErrors)}'\"";
         }
     }
 }

+ 2 - 2
src/Components/test/E2ETest/Tests/BindTest.cs

@@ -759,7 +759,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
 
         // For date comparisons, we parse (non-formatted) values to compare them. Client-side and server-side
         // Blazor have different formatting behaviour by default.
-        [Fact]
+        [Fact(Skip = "https://github.com/aspnet/AspNetCore/issues/12286")]
         public void CanBindTextboxDateTimeWithFormat()
         {
             var target = Browser.FindElement(By.Id("textbox-datetime-format"));
@@ -818,7 +818,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
 
         // For date comparisons, we parse (non-formatted) values to compare them. Client-side and server-side
         // Blazor have different formatting behaviour by default.
-        [Fact]
+        [Fact(Skip = "https://github.com/aspnet/AspNetCore/issues/12286")]
         public void CanBindTextboxDateTimeOffsetWithFormat()
         {
             var target = Browser.FindElement(By.Id("textbox-datetimeoffset-format"));

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

@@ -4,7 +4,7 @@
 <input @ref="myInput" @ref:suppressField value="Value set during render" />
 
 @code {
-    ElementRef myInput;
+    ElementReference myInput;
 
     protected override void OnAfterRender()
     {

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

@@ -28,7 +28,7 @@
 @code {
     int _count = 0;
     bool _toggleCapturedElementPresence = true;
-    ElementRef _myInput;
+    ElementReference _myInput;
 
     async Task MakeInteropCall()
     {

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

@@ -24,7 +24,7 @@
 
 @code {
     string infoFromJs;
-    ElementRef myElem;
+    ElementReference myElem;
 
     protected override async Task OnAfterRenderAsync()
     {

+ 43 - 6
src/Components/test/testassets/BasicTestApp/ServerReliability/ReliabilityComponent.razor

@@ -1,7 +1,9 @@
-@inject Microsoft.JSInterop.IJSRuntime JSRuntime
+@using Microsoft.JSInterop
+@inject IJSRuntime JSRuntime
 @namespace BasicTestApp
 <h1>Server reliability</h1>
-<p>This component is used on the server-side execution model to validate that the circuit is resilient to failures, intentional or not.
+<p>
+    This component is used on the server-side execution model to validate that the circuit is resilient to failures, intentional or not.
     The tests that use this component trigger invalid .NET calls to which the server replies with proper JS interop messages indicating a
     failure to perform the call.
 
@@ -9,15 +11,22 @@
 </p>
 
 <p>Current count: @currentCount</p>
-<p id="errormessage">Error = @error</p>
-<button id="triggerjsinterop" @onclick="@TriggerJSInterop"></button>
+<p id="errormessage-malformed">Error = @errorMalformed</p>
+<p id="errormessage-success">Error = @errorSuccess</p>
+<p id="errormessage-failure">Error = @errorFailure</p>
+
+<button id="triggerjsinterop-malformed" @onclick="@TriggerJSInterop">Trigger malformed JS interop callback</button>
+<button id="triggerjsinterop-success" @onclick="@TriggerJSInteropSuccess">Trigger successfull JS interop callback</button>
+<button id="triggerjsinterop-failure" @onclick="@TriggerJSInteropFailure">Trigger error JS interop callback</button>
 
 <button id="thecounter" @onclick="@IncrementCount">Click me</button>
 
 @code
 {
     int currentCount = 0;
-    string error = "";
+    string errorMalformed = "";
+    string errorSuccess = "";
+    string errorFailure = "";
 
     void IncrementCount()
     {
@@ -34,7 +43,35 @@
         }
         catch (Exception e)
         {
-            error = e.Message;
+            errorMalformed = e.Message;
+        }
+    }
+
+    async Task TriggerJSInteropSuccess()
+    {
+        try
+        {
+            var result = await JSRuntime.InvokeAsync<object>(
+                "sendSuccessCallbackReturn",
+                Array.Empty<object>());
+        }
+        catch (Exception e)
+        {
+            errorSuccess = e.Message;
+        }
+    }
+
+    async Task TriggerJSInteropFailure()
+    {
+        try
+        {
+            var result = await JSRuntime.InvokeAsync<object>(
+                "sendFailureCallbackReturn",
+                Array.Empty<object>());
+        }
+        catch (JSException e)
+        {
+            errorFailure = e.Message;
         }
     }
 }

+ 1 - 1
src/Components/test/testassets/ComponentsApp.Server/Startup.cs

@@ -19,7 +19,7 @@ namespace ComponentsApp.Server
             services.AddSingleton<CircuitHandler, LoggingCircuitHandler>();
             services.AddServerSideBlazor(options =>
             {
-                options.JSInteropDetailedErrors = true;
+                options.DetailedErrors = true;
             });
 
             services.AddSingleton<WeatherForecastService, DefaultWeatherForecastService>();

+ 52 - 1
src/Components/test/testassets/Ignitor/BlazorClient.cs

@@ -42,12 +42,16 @@ namespace Ignitor
 
         private CancellableOperation NextJSInteropReceived { get; set; }
 
+        private CancellableOperation NextDotNetInteropCompletionReceived { get; set; }
+
         public bool ConfirmRenderBatch { get; set; } = true;
 
         public event Action<int, string, string> JSInterop;
 
         public event Action<int, int, byte[]> RenderBatchReceived;
 
+        public event Action<string> DotNetInteropCompletion;
+
         public event Action<Error> OnCircuitError;
 
         public string CircuitId { get; set; }
@@ -82,6 +86,18 @@ namespace Ignitor
             return NextJSInteropReceived.Completion.Task;
         }
 
+        public Task PrepareForNextDotNetInterop()
+        {
+            if (NextDotNetInteropCompletionReceived?.Completion != null)
+            {
+                throw new InvalidOperationException("Invalid state previous task not completed");
+            }
+
+            NextDotNetInteropCompletionReceived = new CancellableOperation(DefaultLatencyTimeout);
+
+            return NextDotNetInteropCompletionReceived.Completion.Task;
+        }
+
         public async Task ClickAsync(string elementId)
         {
             if (!Hive.TryFindElementById(elementId, out var elementNode))
@@ -116,6 +132,13 @@ namespace Ignitor
             await task;
         }
 
+        public async Task ExpectDotNetInterop(Func<Task> action)
+        {
+            var task = WaitForDotNetInterop();
+            await action();
+            await task;
+        }
+
         private Task WaitForRenderBatch(TimeSpan? timeout = null)
         {
             if (ImplicitWait)
@@ -144,6 +167,19 @@ namespace Ignitor
             }
         }
 
+        private async Task WaitForDotNetInterop()
+        {
+            if (ImplicitWait)
+            {
+                if (DefaultLatencyTimeout == null)
+                {
+                    throw new InvalidOperationException("Implicit wait without DefaultLatencyTimeout is not allowed.");
+                }
+
+                await PrepareForNextDotNetInterop();
+            }
+        }
+
         public async Task<bool> ConnectAsync(Uri uri, bool prerendered)
         {
             var builder = new HubConnectionBuilder();
@@ -155,6 +191,7 @@ namespace Ignitor
             await HubConnection.StartAsync(CancellationToken);
 
             HubConnection.On<int, string, string>("JS.BeginInvokeJS", OnBeginInvokeJS);
+            HubConnection.On<string>("JS.EndInvokeDotNet", OnEndInvokeDotNet);
             HubConnection.On<int, int, byte[]>("JS.RenderBatch", OnRenderBatch);
             HubConnection.On<Error>("JS.OnError", OnError);
             HubConnection.Closed += OnClosedAsync;
@@ -176,6 +213,20 @@ namespace Ignitor
             }
         }
 
+        private void OnEndInvokeDotNet(string completion)
+        {
+            try
+            {
+                DotNetInteropCompletion?.Invoke(completion);
+
+                NextDotNetInteropCompletionReceived?.Completion?.TrySetResult(null);
+            }
+            catch (Exception e)
+            {
+                NextDotNetInteropCompletionReceived?.Completion?.TrySetException(e);
+            }
+        }
+
         private void OnBeginInvokeJS(int asyncHandle, string identifier, string argsJson)
         {
             try
@@ -248,7 +299,7 @@ namespace Ignitor
 
         public async Task InvokeDotNetMethod(object callId, string assemblyName, string methodIdentifier, object dotNetObjectId, string argsJson)
         {
-            await ExpectJSInterop(() => HubConnection.InvokeAsync("BeginInvokeDotNetFromJS", callId?.ToString(), assemblyName, methodIdentifier, dotNetObjectId ?? 0, argsJson));
+            await ExpectDotNetInterop(() => HubConnection.InvokeAsync("BeginInvokeDotNetFromJS", callId?.ToString(), assemblyName, methodIdentifier, dotNetObjectId ?? 0, argsJson));
         }
 
         private static async Task<string> GetPrerenderedCircuitIdAsync(Uri uri)

+ 26 - 34
src/Components/test/testassets/Ignitor/ElementNode.cs

@@ -63,14 +63,14 @@ namespace Ignitor
             _events[eventName] = descriptor;
         }
 
-        internal async Task SelectAsync(HubConnection connection, string value)
+        internal Task SelectAsync(HubConnection connection, string value)
         {
             if (!Events.TryGetValue("change", out var changeEventDescriptor))
             {
-                throw new InvalidOperationException("Element does not have a click event.");
+                throw new InvalidOperationException("Element does not have a change event.");
             }
 
-            var mouseEventArgs = new UIChangeEventArgs()
+            var sleectEventArgs = new UIChangeEventArgs()
             {
                 Type = changeEventDescriptor.EventName,
                 Value = value
@@ -88,31 +88,10 @@ namespace Ignitor
                 }
             };
 
-            var serializedJson = JsonSerializer.Serialize(mouseEventArgs, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase });
-            var argsObject = new object[] { browserDescriptor, serializedJson };
-            var callId = "0";
-            var assemblyName = "Microsoft.AspNetCore.Components.Web";
-            var methodIdentifier = "DispatchEvent";
-            var dotNetObjectId = 0;
-            var clickArgs = JsonSerializer.Serialize(argsObject, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase });
-            await connection.InvokeAsync("BeginInvokeDotNetFromJS", callId, assemblyName, methodIdentifier, dotNetObjectId, clickArgs);
-
-        }
-
-        public class ElementEventDescriptor
-        {
-            public ElementEventDescriptor(string eventName, ulong eventId)
-            {
-                EventName = eventName ?? throw new ArgumentNullException(nameof(eventName));
-                EventId = eventId;
-            }
-
-            public string EventName { get; }
-
-            public ulong EventId { get; }
+            return DispatchEventCore(connection, Serialize(browserDescriptor), Serialize(sleectEventArgs));
         }
 
-        public async Task ClickAsync(HubConnection connection)
+        public Task ClickAsync(HubConnection connection)
         {
             if (!Events.TryGetValue("click", out var clickEventDescriptor))
             {
@@ -130,14 +109,27 @@ namespace Ignitor
                 EventHandlerId = clickEventDescriptor.EventId,
                 EventArgsType = "mouse",
             };
-            var serializedJson = JsonSerializer.Serialize(mouseEventArgs, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase });
-            var argsObject = new object[] { browserDescriptor, serializedJson };
-            var callId = "0";
-            var assemblyName = "Microsoft.AspNetCore.Components.Web";
-            var methodIdentifier = "DispatchEvent";
-            var dotNetObjectId = 0;
-            var clickArgs = JsonSerializer.Serialize(argsObject, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase });
-            await connection.InvokeAsync("BeginInvokeDotNetFromJS", callId, assemblyName, methodIdentifier, dotNetObjectId, clickArgs);
+
+            return DispatchEventCore(connection, Serialize(browserDescriptor), Serialize(mouseEventArgs));
+        }
+
+        private static string Serialize<T>(T payload) =>
+             JsonSerializer.Serialize(payload, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase });
+
+        private static Task DispatchEventCore(HubConnection connection, string descriptor, string eventArgs) =>
+            connection.InvokeAsync("DispatchBrowserEvent", descriptor, eventArgs);
+
+        public class ElementEventDescriptor
+        {
+            public ElementEventDescriptor(string eventName, ulong eventId)
+            {
+                EventName = eventName ?? throw new ArgumentNullException(nameof(eventName));
+                EventId = eventId;
+            }
+
+            public string EventName { get; }
+
+            public ulong EventId { get; }
         }
     }
 }

+ 2 - 1
src/Components/test/testassets/TestServer/Components.TestServer.csproj

@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
+<Project Sdk="Microsoft.NET.Sdk.Web">
 
   <PropertyGroup>
     <TargetFramework>netcoreapp3.0</TargetFramework>
@@ -13,6 +13,7 @@
     <Reference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" />
     <Reference Include="Microsoft.AspNetCore.Components.Server" />
     <Reference Include="Microsoft.AspNetCore.Mvc.Components.Prerendering" />
+    <Reference Include="Microsoft.Extensions.Logging.Testing" />
   </ItemGroup>
 
   <ItemGroup>

+ 9 - 0
src/Components/test/testassets/TestServer/Program.cs

@@ -1,6 +1,9 @@
 using Microsoft.AspNetCore;
 using Microsoft.AspNetCore.Hosting;
 using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Testing;
 
 namespace TestServer
 {
@@ -15,6 +18,12 @@ namespace TestServer
 
         public static IWebHost BuildWebHost<TStartup>(string[] args) where TStartup : class =>
             WebHost.CreateDefaultBuilder(args)
+                .ConfigureLogging((ctx, lb) =>
+                {
+                    TestSink sink = new TestSink();
+                    lb.AddProvider(new TestLoggerProvider(sink));
+                    lb.Services.Add(ServiceDescriptor.Singleton(sink));
+                })
                 .UseConfiguration(new ConfigurationBuilder()
                         .AddCommandLine(args)
                         .Build())

+ 1 - 1
src/Components/test/testassets/TestServer/Startup.cs

@@ -31,7 +31,7 @@ namespace TestServer
                 .AddCircuitOptions(o =>
                 {
                     var detailedErrors = Configuration.GetValue<bool>("circuit-detailed-errors");
-                    o.JSInteropDetailedErrors = detailedErrors;
+                    o.DetailedErrors = detailedErrors;
                 });
             services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
 

+ 4 - 1
src/Components/test/testassets/TestServer/appsettings.json

@@ -1,6 +1,9 @@
-{
+{
   "Logging": {
     "IncludeScopes": false,
+    "LogLevel": {
+      "Microsoft.AspNetCore.Components": "Debug"
+    },
     "Debug": {
       "LogLevel": {
         "Default": "Warning"

+ 0 - 4
src/Hosting/TestHost/src/ResponseBodyPipeWriter.cs

@@ -7,7 +7,6 @@ using System.IO;
 using System.IO.Pipelines;
 using System.Threading;
 using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http.Features;
 
 namespace Microsoft.AspNetCore.TestHost
 {
@@ -83,9 +82,6 @@ namespace Microsoft.AspNetCore.TestHost
 
         public override void CancelPendingFlush() => _pipe.Writer.CancelPendingFlush();
 
-        public override void OnReaderCompleted(Action<Exception, object> callback, object state)
-             => _pipe.Writer.OnReaderCompleted(callback, state);
-
         public override void Advance(int bytes)
         {
             CheckNotComplete();

+ 8 - 7
src/Mvc/Mvc.Analyzers/src/CodeAnalysisExtensions.cs

@@ -1,6 +1,7 @@
 // Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
+using System;
 using System.Collections.Generic;
 using System.Diagnostics;
 using System.Linq;
@@ -29,7 +30,7 @@ namespace Microsoft.CodeAnalysis
         public static IEnumerable<AttributeData> GetAttributes(this IMethodSymbol methodSymbol, ITypeSymbol attribute, bool inherit)
         {
             Debug.Assert(methodSymbol != null);
-            Debug.Assert(attribute != null);
+            attribute = attribute ?? throw new ArgumentNullException(nameof(attribute));
 
             IMethodSymbol? current = methodSymbol;
             while (current != null)
@@ -50,8 +51,8 @@ namespace Microsoft.CodeAnalysis
 
         public static IEnumerable<AttributeData> GetAttributes(this ITypeSymbol typeSymbol, ITypeSymbol attribute, bool inherit)
         {
-            Debug.Assert(typeSymbol != null);
-            Debug.Assert(attribute != null);
+            typeSymbol = typeSymbol ?? throw new ArgumentNullException(nameof(typeSymbol));
+            attribute = attribute ?? throw new ArgumentNullException(nameof(attribute));
 
             foreach (var type in GetTypeHierarchy(typeSymbol))
             {
@@ -69,8 +70,8 @@ namespace Microsoft.CodeAnalysis
 
         public static bool HasAttribute(this IPropertySymbol propertySymbol, ITypeSymbol attribute, bool inherit)
         {
-            Debug.Assert(propertySymbol != null);
-            Debug.Assert(attribute != null);
+            propertySymbol = propertySymbol ?? throw new ArgumentNullException(nameof(propertySymbol));
+            attribute = attribute ?? throw new ArgumentNullException(nameof(attribute));
 
             if (!inherit)
             {
@@ -93,8 +94,8 @@ namespace Microsoft.CodeAnalysis
 
         public static bool IsAssignableFrom(this ITypeSymbol source, ITypeSymbol target)
         {
-            Debug.Assert(source != null);
-            Debug.Assert(target != null);
+            source = source ?? throw new ArgumentNullException(nameof(source));
+            target = target ?? throw new ArgumentNullException(nameof(target));
 
             if (source == target)
             {

+ 0 - 1
src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj

@@ -9,7 +9,6 @@
     <IncludeBuildOutput>false</IncludeBuildOutput>
     <GenerateDocumentationFile>false</GenerateDocumentationFile>
     <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
-    <NullableContextOptions>enable</NullableContextOptions>
     <Nullable>enable</Nullable>
   </PropertyGroup>
 

+ 5 - 5
src/Mvc/Mvc.Analyzers/src/MvcFacts.cs

@@ -11,9 +11,9 @@ namespace Microsoft.AspNetCore.Mvc.Analyzers
     {
         public static bool IsController(INamedTypeSymbol type, INamedTypeSymbol controllerAttribute, INamedTypeSymbol nonControllerAttribute)
         {
-            Debug.Assert(type != null);
-            Debug.Assert(controllerAttribute != null);
-            Debug.Assert(nonControllerAttribute != null);
+            type = type ?? throw new ArgumentNullException(nameof(type));
+            controllerAttribute = controllerAttribute ?? throw new ArgumentNullException(nameof(controllerAttribute));
+            nonControllerAttribute = nonControllerAttribute ?? throw new ArgumentNullException(nameof(nonControllerAttribute));
 
             if (type.TypeKind != TypeKind.Class)
             {
@@ -57,8 +57,8 @@ namespace Microsoft.AspNetCore.Mvc.Analyzers
 
         public static bool IsControllerAction(IMethodSymbol method, INamedTypeSymbol nonActionAttribute, IMethodSymbol disposableDispose)
         {
-            Debug.Assert(method != null);
-            Debug.Assert(nonActionAttribute != null);
+            method = method ?? throw new ArgumentNullException(nameof(method));
+            nonActionAttribute = nonActionAttribute ?? throw new ArgumentNullException(nameof(nonActionAttribute));
 
             if (method.MethodKind != MethodKind.Ordinary)
             {

+ 0 - 1
src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj

@@ -9,7 +9,6 @@
     <IncludeBuildOutput>false</IncludeBuildOutput>
     <GenerateDocumentationFile>false</GenerateDocumentationFile>
     <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
-    <NullableContextOptions>enable</NullableContextOptions>
     <Nullable>enable</Nullable>
   </PropertyGroup>
 

+ 20 - 1
src/Mvc/Mvc.ViewFeatures/test/Rendering/SystemTextJsonHelperTest.cs

@@ -25,7 +25,26 @@ namespace Microsoft.AspNetCore.Mvc.Rendering
             {
                 HTML = "<b>John Doe</b>"
             };
-            var expectedOutput = "{\"html\":\"\\u003cb\\u003eJohn Doe\\u003c\\u002fb\\u003e\"}";
+            var expectedOutput = "{\"html\":\"\\u003Cb\\u003EJohn Doe\\u003C/b\\u003E\"}";
+
+            // Act
+            var result = helper.Serialize(obj);
+
+            // Assert
+            var htmlString = Assert.IsType<HtmlString>(result);
+            Assert.Equal(expectedOutput, htmlString.ToString());
+        }
+
+        [Fact]
+        public override void Serialize_WithNonAsciiChars()
+        {
+            // Arrange
+            var helper = GetJsonHelper();
+            var obj = new
+            {
+                HTML = $"Hello pingüino"
+            };
+            var expectedOutput = "{\"html\":\"Hello ping\\u00FCino\"}";
 
             // Act
             var result = helper.Serialize(obj);

+ 1 - 1
src/Mvc/samples/MvcSandbox/Components/App.razor

@@ -1,2 +1,2 @@
-
+@using Microsoft.AspNetCore.Components.Routing
 <Router AppAssembly="@typeof(MvcSandbox.Startup).Assembly" FallbackComponent="@typeof(NotFound)" />

+ 1 - 1
src/Mvc/test/Mvc.FunctionalTests/SystemTextJsonOutputFormatterTest.cs

@@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
 
             // Assert
             await response.AssertStatusCodeAsync(HttpStatusCode.OK);
-            Assert.Equal("\"Hello Mr. \\ud83e\\udd8a\"", await response.Content.ReadAsStringAsync());
+            Assert.Equal("\"Hello Mr. \\uD83E\\uDD8A\"", await response.Content.ReadAsStringAsync());
         }
 
         [Fact]

+ 20 - 20
src/Mvc/test/Mvc.FunctionalTests/compiler/resources/HtmlGenerationWebSite.HtmlGeneration_Home.Link.html

@@ -39,82 +39,82 @@
 
     <!-- Fallback to static href -->
     <link href="/styles/site.min.css?a=b&amp;c=d" rel="stylesheet" data-extra="test" title='"the" title' />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0022the\u0022 title\u0027 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0022the\u0022 title\u0027 ");</script>
 
     <!-- Fallback to static href with no asp-suppress-fallback-integrity attribute, default behavior is to keep integrity hash -->
     <link href="/styles/site.min.css?a=b&amp;c=d" rel="stylesheet" data-extra="test" title='"the" title' integrity="XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh+pQc=" crossorigin="anonymous" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0022the\u0022 title\u0027 integrity=\u0022XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh\u002BpQc=\u0022 crossorigin=\u0022anonymous\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0022the\u0022 title\u0027 integrity=\u0022XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh\u002BpQc=\u0022 crossorigin=\u0022anonymous\u0022 ");</script>
 
     <!-- Fallback to static href with asp-suppress-fallback-integrity set to false, behavior is to keep integrity hash -->
     <link href="/styles/site.min.css?a=b&amp;c=d" rel="stylesheet" data-extra="test" title='"the" title' integrity="XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh+pQc=" crossorigin="anonymous" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0022the\u0022 title\u0027 integrity=\u0022XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh\u002BpQc=\u0022 crossorigin=\u0022anonymous\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0022the\u0022 title\u0027 integrity=\u0022XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh\u002BpQc=\u0022 crossorigin=\u0022anonymous\u0022 ");</script>
 
     <!-- Fallback to static href with asp-suppress-fallback-integrity provided, removes integrity attribute on fallback so that different CSS can be loaded  -->
     <link href="/styles/site.min.css?a=b&amp;c=d" rel="stylesheet" data-extra="test" title='"the" title' integrity="XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh+pQc=" crossorigin="anonymous" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/siteIntegrity.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0022the\u0022 title\u0027 crossorigin=\u0022anonymous\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/siteIntegrity.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0022the\u0022 title\u0027 crossorigin=\u0022anonymous\u0022 ");</script>
 
     <!-- Fallback to static href with dynamic attributes -->
     <link href="/styles/site.min.css?a=b&amp;c=d" rel="stylesheet" data-extra="test" title='&quot;the&quot; title' />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0026quot;the\u0026quot; title\u0027 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css?a=b\u0026amp;c=d"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 title=\u0027\u0026quot;the\u0026quot; title\u0027 ");</script>
 
     <!-- Fallback to static href with custom rel -->
     <link href="/styles/site.min.css?a=b&amp;c=d" rel="x-stylesheet" />
 
     <!-- Fallback from globbed href to static href -->
     
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback from globbed href with exclude to static href -->
     
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback from globbed and static href to static href -->
     <link href="styles/site.min.css" rel="stylesheet" data-extra="test" /><link href="/styles/site.css" rel="stylesheet" data-extra="test" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback from globbed and static href with exclude to static href -->
     <link href="styles/site.min.css" rel="stylesheet" data-extra="test" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback to static href with no primary href -->
     <link rel="stylesheet" data-extra="test">
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback to globbed href -->
     <link href="/styles/site.min.css" rel="stylesheet" data-extra="test" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback to static and globbed href -->
     <link href="/styles/site.min.css" rel="stylesheet" data-extra="test" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css","\/styles\/sub\/site2.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css","/styles/sub/site2.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback to static and globbed href should dedupe -->
     <link href="/styles/site.min.css" rel="stylesheet" data-extra="test" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback to static and globbed href with exclude -->
     <link href="/styles/site.min.css" rel="stylesheet" data-extra="test" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css","\/styles\/siteIntegrity.css","\/styles\/sub\/site2.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css","/styles/siteIntegrity.css","/styles/sub/site2.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback from globbed href to globbed href -->
     
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback from globbed href with exclude to globbed href -->
     
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback from globbed and static href to globbed href -->
     <link href="styles/site.min.css" rel="stylesheet" data-extra="test" /><link href="/styles/site.css" rel="stylesheet" data-extra="test" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback from globbed and static href with exclude to globbed href -->
     <link href="styles/site.min.css" rel="stylesheet" data-extra="test">
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Kitchen sink, all the attributes -->
     <link href="styles/site.min.css" rel="stylesheet" data-extra="test" />
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css","\/styles\/siteIntegrity.css","\/styles\/sub\/site2.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css","/styles/siteIntegrity.css","/styles/sub/site2.css"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Fallback to globbed href that doesn't exist -->
     <link href="/styles/site.min.css" rel="stylesheet" data-extra="test" />
@@ -139,7 +139,7 @@
 
     <!-- Fallback with file version -->
     <link href="/styles/site.min.css" rel="stylesheet" data-extra="test">
-<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["\/styles\/site.css?v=XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh-pQc"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
+<meta name="x-stylesheet-fallback-test" content="" class="hidden" /><script>!function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}("visibility","hidden",["/styles/site.css?v=XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh-pQc"], "rel=\u0022stylesheet\u0022 data-extra=\u0022test\u0022 ");</script>
 
     <!-- Globbed link tag with existing file, static href and file version -->
     <link href="/styles/site.css?v=XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh-pQc" rel="stylesheet" /><link href="/styles/siteIntegrity.css?v=2PJDxTb5ea6QWpW5p3vvrvP3bat7l18amFI0M8-xBls" rel="stylesheet" /><link href="/styles/sub/site2.css?v=30cxPex0tA9xEatW7f1Qhnn8tVLAHgE6xwIZhESq0y0" rel="stylesheet" /><link href="/styles/sub/site3.css?v=fSxxOr1Q4Dq2uPuzlju5UYGuK0SKABI-ghvaIGEsZDc" rel="stylesheet" /><link href="/styles/sub/site3.min.css?v=s8JMmAZxBn0dzuhRtQ0wgOvNBK4XRJRWEC2wfzsVF9M" rel="stylesheet" />

+ 12 - 12
src/Mvc/test/Mvc.FunctionalTests/compiler/resources/HtmlGenerationWebSite.HtmlGeneration_Home.Script.html

@@ -13,43 +13,43 @@
     <script src="/blank.js?a=b&amp;c=d" data-foo="foo-data2" title="&lt;the title>">
         // TagHelper script with comment in body, and extra properties.
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/site.js?a=b\u0026amp;c=d\u0022 data-foo=\u0022foo-data2\u0022 title=\u0022\u0026lt;the title\u003E\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/site.js?a=b\u0026amp;c=d\u0022 data-foo=\u0022foo-data2\u0022 title=\u0022\u0026lt;the title\u003E\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/blank.js" title='"the" title'>
         // Fallback to globbed src
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/site.js\u0022 title=\u0027\u0022the\u0022 title\u0027\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/site.js\u0022 title=\u0027\u0022the\u0022 title\u0027\u003E\u003C/script\u003E"));</script>
     
     <script src="/styles/siteIntegrity.js?a=integrity" crossorigin="anonymous" integrity="sha256-tMQLOHBNPE829MHQPO8metegsGobA/henDPOvtZOWhQ=">
        // Script loading primary source, applied integrity hash to primary source.
     </script>
-<script>(true||document.write("\u003Cscript src=\u0022\/styles\/sub\/site2.js?a=integrity\u0022 crossorigin=\u0022anonymous\u0022 integrity=\u0022sha256-tMQLOHBNPE829MHQPO8metegsGobA\/henDPOvtZOWhQ=\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(true||document.write("\u003Cscript src=\u0022/styles/sub/site2.js?a=integrity\u0022 crossorigin=\u0022anonymous\u0022 integrity=\u0022sha256-tMQLOHBNPE829MHQPO8metegsGobA/henDPOvtZOWhQ=\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/styles/siteIntegrity.js?a=integrity" crossorigin="anonymous" integrity="sha256-tMQLOHBNPE829MHQPO8metegsGobA/henDPOvtZOWhQ=">
 
        // Script uses fallback source, applies integrity hash to fallback.
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/sub\/siteIntegrity2.js?a=integrity\u0022 crossorigin=\u0022anonymous\u0022 integrity=\u0022sha256-tMQLOHBNPE829MHQPO8metegsGobA\/henDPOvtZOWhQ=\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/sub/siteIntegrity2.js?a=integrity\u0022 crossorigin=\u0022anonymous\u0022 integrity=\u0022sha256-tMQLOHBNPE829MHQPO8metegsGobA/henDPOvtZOWhQ=\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/styles/siteIntegrity.js?a=integrity" crossorigin="anonymous" integrity="sha256-tMQLOHBNPE829MHQPO8metegsGobA/henDPOvtZOWhQ=">
        // Script uses fallback source, ignores integrity hash on fallback.
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/sub\/siteIntegrity3.js?a=integrity\u0022 crossorigin=\u0022anonymous\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/sub/siteIntegrity3.js?a=integrity\u0022 crossorigin=\u0022anonymous\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/blank.js">
         // Fallback to globbed src with exclude
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/site.js\u0022\u003E\u003C\/script\u003E\u003Cscript src=\u0022\/styles\/siteIntegrity.js\u0022\u003E\u003C\/script\u003E\u003Cscript src=\u0022\/styles\/sub\/site2.js\u0022\u003E\u003C\/script\u003E\u003Cscript src=\u0022\/styles\/sub\/siteIntegrity2.js\u0022\u003E\u003C\/script\u003E\u003Cscript src=\u0022\/styles\/sub\/siteIntegrity3.js\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/site.js\u0022\u003E\u003C/script\u003E\u003Cscript src=\u0022/styles/siteIntegrity.js\u0022\u003E\u003C/script\u003E\u003Cscript src=\u0022/styles/sub/site2.js\u0022\u003E\u003C/script\u003E\u003Cscript src=\u0022/styles/sub/siteIntegrity2.js\u0022\u003E\u003C/script\u003E\u003Cscript src=\u0022/styles/sub/siteIntegrity3.js\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/blank.js">
         // Fallback to globbed and static src
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/site.js\u0022\u003E\u003C\/script\u003E\u003Cscript src=\u0022\/styles\/sub\/site2.js\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/site.js\u0022\u003E\u003C/script\u003E\u003Cscript src=\u0022/styles/sub/site2.js\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/blank.js">
         // Fallback to globbed and static src should de-dupe
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/site.js\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/site.js\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/blank.js">
         // Fallback to globbed src with missing include
@@ -58,7 +58,7 @@
     <script src="/blank.js">
         // Fallback to static and globbed src with missing include
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/site.js\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/site.js\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/blank.js">
         // Fallback to globbed src outside of webroot
@@ -71,7 +71,7 @@
     <script data-foo="foo-data3">
         // Valid TagHelper (although no src is provided) script with comment in body, and extra properties.
     </script>
-<script>(false||document.write("\u003Cscript data-foo=\u0022foo-data3\u0022 src=\u0022\/styles\/site.js\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript data-foo=\u0022foo-data3\u0022 src=\u0022/styles/site.js\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/blank.js">
         // Invalid TagHelper script with comment in body.
@@ -114,12 +114,12 @@
     <script src="/blank.js">
         // TagHelper script with comment in body, and file version.
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/blank.js">
         // Fallback to globbed src with file version.
     </script>
-<script>(false||document.write("\u003Cscript src=\u0022\/styles\/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I\u0022\u003E\u003C\/script\u003E"));</script>
+<script>(false||document.write("\u003Cscript src=\u0022/styles/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I\u0022\u003E\u003C/script\u003E"));</script>
 
     <script src="/styles/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I">
         // Regular script with comment in body, and file version.

+ 1 - 0
src/ProjectTemplates/test/Infrastructure/GenerateTestProps.targets

@@ -7,6 +7,7 @@
     <PropertyGroup>
       <PropsProperties>
         RestoreSources=$([MSBuild]::Escape("$(RestoreSources);$(ArtifactsShippingPackagesDir);$(ArtifactsNonShippingPackagesDir)"));
+        MicrosoftNetCompilersToolsetPackageVersion=$(MicrosoftNetCompilersToolsetPackageVersion);
         MicrosoftNETCoreAppRuntimeVersion=$(MicrosoftNETCoreAppRuntimeVersion);
         MicrosoftNETCoreAppRefPackageVersion=$(MicrosoftNETCoreAppRefPackageVersion);
         MicrosoftNETCorePlatformsPackageVersion=$(MicrosoftNETCorePlatformsPackageVersion);

+ 7 - 0
src/ProjectTemplates/test/Infrastructure/TemplateTests.props.in

@@ -32,6 +32,13 @@
       AppHostRuntimeIdentifiers="" />
   </ItemGroup>
 
+  <ItemGroup>
+    <PackageReference Include="Microsoft.Net.Compilers.Toolset"
+      Version="${MicrosoftNetCompilersToolsetPackageVersion}"
+      PrivateAssets="all"
+      IsImplicitlyDefined="true" />
+  </ItemGroup>
+
   <ItemGroup Condition="'$(UsingMicrosoftNETSdkWeb)' == 'true' OR '$(RazorSdkCurrentVersionProps)' != ''">
     <!--
       Use the Razor SDK as a package reference. The version of the .NET Core SDK we build with often contains a version of the Razor SDK

+ 0 - 5
src/Servers/Kestrel/Core/src/Internal/Http/Http1ChunkedEncodingMessageBody.cs

@@ -109,11 +109,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
             _context.ReportApplicationError(exception);
         }
 
-        public override void OnWriterCompleted(Action<Exception, object> callback, object state)
-        {
-            _requestBodyPipe.Reader.OnWriterCompleted(callback, state);
-        }
-
         public override void CancelPendingRead()
         {
             _requestBodyPipe.Reader.CancelPendingRead();

+ 0 - 5
src/Servers/Kestrel/Core/src/Internal/Http/Http1ContentLengthMessageBody.cs

@@ -245,11 +245,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
             _completed = true;
         }
 
-        public override void OnWriterCompleted(Action<Exception, object> callback, object state)
-        {
-            // TODO make this work with ContentLength.
-        }
-
         public override void CancelPendingRead()
         {
             Interlocked.Exchange(ref _userCanceled, 1);

+ 0 - 5
src/Servers/Kestrel/Core/src/Internal/Http/Http1UpgradeMessageBody.cs

@@ -63,11 +63,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
             _context.Input.CancelPendingRead();
         }
 
-        public override void OnWriterCompleted(Action<Exception, object> callback, object state)
-        {
-            _context.Input.OnWriterCompleted(callback, state);
-        }
-
         public override Task ConsumeAsync()
         {
             return Task.CompletedTask;

+ 0 - 7
src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestPipeReader.cs

@@ -52,13 +52,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
             _body.Complete(exception);
         }
 
-        public override void OnWriterCompleted(Action<Exception, object> callback, object state)
-        {
-            ValidateState();
-
-            _body.OnWriterCompleted(callback, state);
-        }
-
         public override ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default)
         {
             ValidateState(cancellationToken);

+ 0 - 6
src/Servers/Kestrel/Core/src/Internal/Http/HttpResponsePipeWriter.cs

@@ -58,12 +58,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
             return _pipeControl.GetSpan(sizeHint);
         }
 
-        public override void OnReaderCompleted(Action<Exception, object> callback, object state)
-        {
-            ValidateState();
-            throw new NotSupportedException();
-        }
-
         public override ValueTask<FlushResult> WriteAsync(ReadOnlyMemory<byte> source, CancellationToken cancellationToken = default)
         {
             ValidateState(cancellationToken);

+ 0 - 2
src/Servers/Kestrel/Core/src/Internal/Http/MessageBody.cs

@@ -47,8 +47,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
 
         public abstract bool TryRead(out ReadResult readResult);
 
-        public abstract void OnWriterCompleted(Action<Exception, object> callback, object state);
-
         public abstract void Complete(Exception exception);
 
         public abstract void CancelPendingRead();

+ 0 - 2
src/Servers/Kestrel/Core/src/Internal/Http/ZeroContentLengthMessageBody.cs

@@ -34,8 +34,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
             return true;
         }
 
-        public override void OnWriterCompleted(Action<Exception, object> callback, object state) { }
-
         public override void Complete(Exception ex) { }
 
         public override void CancelPendingRead() { }

+ 0 - 5
src/Servers/Kestrel/Core/src/Internal/Http2/Http2MessageBody.cs

@@ -148,11 +148,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2
             _context.ReportApplicationError(exception);
         }
 
-        public override void OnWriterCompleted(Action<Exception, object> callback, object state)
-        {
-            _context.RequestBodyPipe.Reader.OnWriterCompleted(callback, state);
-        }
-
         public override void CancelPendingRead()
         {
             _context.RequestBodyPipe.Reader.CancelPendingRead();

+ 0 - 5
src/Servers/Kestrel/Core/src/Internal/Infrastructure/PipeWriterHelpers/ConcurrentPipeWriter.cs

@@ -174,11 +174,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.PipeW
             }
         }
 
-        public override void OnReaderCompleted(Action<Exception, object> callback, object state)
-        {
-            _innerPipeWriter.OnReaderCompleted(callback, state);
-        }
-
         public override void CancelPendingFlush()
         {
             // We propagate IsCanceled when we do multiple flushes in a loop. If FlushResult.IsCanceled is true with more data pending to flush,

+ 0 - 9
src/Servers/Kestrel/Core/test/BodyControlTests.cs

@@ -101,8 +101,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
                 Assert.Throws<Exception>(() => requestPipe.TryRead(out var res)));
             Assert.Same(ex,
                 Assert.Throws<Exception>(() => requestPipe.Complete()));
-            Assert.Same(ex,
-                Assert.Throws<Exception>(() => requestPipe.OnWriterCompleted(null, null)));
         }
 
         [Fact]
@@ -119,7 +117,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
             Assert.Throws<ObjectDisposedException>(() => requestPipe.CancelPendingRead());
             Assert.Throws<ObjectDisposedException>(() => requestPipe.TryRead(out var res));
             Assert.Throws<ObjectDisposedException>(() => requestPipe.Complete());
-            Assert.Throws<ObjectDisposedException>(() => requestPipe.OnWriterCompleted(null, null));
             await Assert.ThrowsAsync<ObjectDisposedException>(async () => await requestPipe.ReadAsync());
         }
 
@@ -137,7 +134,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
             Assert.Throws<ObjectDisposedException>(() => responsePipe.GetMemory());
             Assert.Throws<ObjectDisposedException>(() => responsePipe.GetSpan());
             Assert.Throws<ObjectDisposedException>(() => responsePipe.Complete());
-            Assert.Throws<ObjectDisposedException>(() => responsePipe.OnReaderCompleted(null, null));
             await Assert.ThrowsAsync<ObjectDisposedException>(async () => await responsePipe.WriteAsync(new Memory<byte>()));
             await Assert.ThrowsAsync<ObjectDisposedException>(async () => await responsePipe.FlushAsync());
         }
@@ -170,11 +166,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
                 throw new NotImplementedException();
             }
 
-            public override void OnWriterCompleted(Action<Exception, object> callback, object state)
-            {
-                throw new NotImplementedException();
-            }
-
             public override ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default)
             {
                 throw new NotImplementedException();

+ 0 - 5
src/Servers/Kestrel/Core/test/ConcurrentPipeWriterTests.cs

@@ -377,11 +377,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
             {
                 CancelPendingFlushCallCount++;
             }
-
-            public override void OnReaderCompleted(Action<Exception, object> callback, object state)
-            {
-                throw new NotImplementedException();
-            }
         }
     }
 }

+ 0 - 8
src/Servers/Kestrel/Core/test/HttpResponsePipeWriterTests.cs

@@ -10,14 +10,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
 {
     public class HttpResponsePipeWriterTests
     {
-        [Fact]
-        public void OnReaderCompletedThrowsNotSupported()
-        {
-            var pipeWriter = CreateHttpResponsePipeWriter();
-            pipeWriter.StartAcceptingWrites();
-            Assert.Throws<NotSupportedException>(() => pipeWriter.OnReaderCompleted((a, b) => { }, null));
-        }
-
         [Fact]
         public void AdvanceAfterStopAcceptingWritesThrowsObjectDisposedException()
         {

+ 0 - 96
src/Servers/Kestrel/Core/test/MessageBodyTests.cs

@@ -1139,102 +1139,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
             }
         }
 
-        [Fact] // TODO
-        public async Task OnWriterCompletedForContentLengthDoesNotWork()
-        {
-            using (var input = new TestInput())
-            {
-                var body = Http1MessageBody.For(HttpVersion.Http11, new HttpRequestHeaders { HeaderContentLength = "5" }, input.Http1Connection);
-                var reader = new HttpRequestPipeReader();
-                reader.StartAcceptingReads(body);
-
-                input.Add("Hello");
-                var retVal = false;
-
-                // Callback isn't fired at the moment.
-                reader.OnWriterCompleted((a, b) => retVal = true, null);
-                Assert.True(reader.TryRead(out var readResult));
-
-                Assert.True(readResult.IsCompleted);
-                Assert.False(retVal);
-
-                await body.StopAsync();
-            }
-        }
-
-        [Fact]
-        public async Task OnWriterCompletedForChunkedWorks()
-        {
-            using (var input = new TestInput())
-            {
-                var body = Http1MessageBody.For(HttpVersion.Http11, new HttpRequestHeaders { HeaderTransferEncoding = "chunked" }, input.Http1Connection);
-                var reader = new HttpRequestPipeReader();
-                reader.StartAcceptingReads(body);
-
-                var tcs = new TaskCompletionSource<object>();
-                reader.OnWriterCompleted((a, b) => tcs.SetResult(null), null);
-
-                input.Add("0\r\n\r\n");
-
-                Assert.True(reader.TryRead(out var readResult));
-
-                Assert.True(readResult.IsCompleted);
-                Assert.Null(await tcs.Task.DefaultTimeout());
-
-                await body.StopAsync();
-            }
-        }
-
-        [Fact]
-        public async Task OnWriterCompletedForUpgradeWorks()
-        {
-            using (var input = new TestInput())
-            {
-                var body = Http1MessageBody.For(HttpVersion.Http11, new HttpRequestHeaders { HeaderConnection = "upgrade" }, input.Http1Connection);
-                var reader = new HttpRequestPipeReader();
-                reader.StartAcceptingReads(body);
-
-                var retVal = false;
-                reader.OnWriterCompleted((a, b) => retVal = true, null);
-
-                input.Add("hi");
-
-                Assert.True(reader.TryRead(out var readResult));
-                reader.AdvanceTo(readResult.Buffer.End);
-
-                input.Fin();
-
-                Assert.True(retVal);
-
-                await body.StopAsync();
-            }
-        }
-
-        [Fact]
-        public async Task OnWriterCompletedForNoContentLengthNoop()
-        {
-            using (var input = new TestInput())
-            {
-                var body = Http1MessageBody.For(HttpVersion.Http11, new HttpRequestHeaders(), input.Http1Connection);
-                var reader = new HttpRequestPipeReader();
-                reader.StartAcceptingReads(body);
-
-                var retVal = false;
-                reader.OnWriterCompleted((a, b) => retVal = true, null);
-
-                input.Add("hi");
-
-                Assert.True(reader.TryRead(out var readResult));
-                reader.AdvanceTo(readResult.Buffer.End);
-
-                input.Fin();
-
-                Assert.False(retVal);
-
-                await body.StopAsync();
-            }
-        }
-
         [Fact]
         public async Task CompleteForContentLengthAllowsConsumeToWork()
         {

+ 1 - 2
src/Servers/Kestrel/perf/Kestrel.Performance/ResponseHeadersWritingBenchmark.cs

@@ -1,4 +1,4 @@
-// Copyright (c) .NET Foundation. All rights reserved.
+// Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 using System;
@@ -143,7 +143,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Performance
             public override void CancelPendingFlush() { }
             public override void Complete(Exception exception = null)  { }
             public override ValueTask<FlushResult> FlushAsync(CancellationToken cancellationToken = default) => default;
-            public override void OnReaderCompleted(Action<Exception, object> callback, object state) { }
         }
 
         public enum BenchmarkTypes

+ 0 - 4
src/Servers/Kestrel/shared/test/PassThroughConnectionMiddleware.cs

@@ -56,8 +56,6 @@ namespace Microsoft.AspNetCore.Testing
                 public override Memory<byte> GetMemory(int sizeHint = 0) => _output.GetMemory(sizeHint);
 
                 public override Span<byte> GetSpan(int sizeHint = 0) => _output.GetSpan(sizeHint);
-
-                public override void OnReaderCompleted(Action<Exception, object> callback, object state) => _output.OnReaderCompleted(callback, state);
             }
 
             private class PassThroughPipeReader : PipeReader
@@ -77,8 +75,6 @@ namespace Microsoft.AspNetCore.Testing
 
                 public override void Complete(Exception exception = null) => _input.Complete(exception);
 
-                public override void OnWriterCompleted(Action<Exception, object> callback, object state) => _input.OnWriterCompleted(callback, state);
-
                 public override ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default) => _input.ReadAsync(cancellationToken);
 
                 public override bool TryRead(out ReadResult result) => _input.TryRead(out result);

+ 4 - 1
src/Servers/Kestrel/test/InMemory.FunctionalTests/ResponseDrainingTests.cs

@@ -41,10 +41,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
 
                     var outputBufferedTcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously);
 
+#pragma warning disable 0618 // TODO: Repalce OnWriterCompleted
                     transportConnection.Output.OnWriterCompleted((ex, state) =>
                     {
                         ((TaskCompletionSource<object>)state).SetResult(null);
-                    }, outputBufferedTcs);
+                    },
+                    outputBufferedTcs);
+#pragma warning restore
 
                     await connection.Send(
                         "GET / HTTP/1.1",

+ 0 - 5
src/Servers/Kestrel/test/InMemory.FunctionalTests/TestTransport/InMemoryTransportConnection.cs

@@ -144,11 +144,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests.TestTrans
                     _reader.Complete(exception);
                 }
 
-                public override void OnWriterCompleted(Action<Exception, object> callback, object state)
-                {
-                    _reader.OnWriterCompleted(callback, state);
-                }
-
                 public override ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default)
                 {
                     var task = _reader.ReadAsync(cancellationToken);

+ 2 - 0
src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.ConnectionLifecycle.cs

@@ -367,8 +367,10 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
                 var connectionClosed = new TaskCompletionSource<object>();
                 await AsyncUsing(CreateHubConnection(testConnection), async connection =>
                 {
+#pragma warning disable 0618
                     // We're hooking the TestConnection shutting down here because the HubConnection one will be blocked on the lock
                     testConnection.Transport.Input.OnWriterCompleted((_, __) => testConnectionClosed.TrySetResult(null), null);
+#pragma warning restore
                     connection.Closed += (e) =>
                     {
                         connectionClosed.TrySetResult(null);

+ 3 - 0
src/SignalR/clients/csharp/Client/test/UnitTests/TestConnection.cs

@@ -53,11 +53,14 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
             Application = pair.Application;
             Transport = pair.Transport;
 
+            // TODO: Resolve this, for now we use Pipe which works
+#pragma warning disable 0618
             Application.Input.OnWriterCompleted((ex, _) =>
             {
                 Application.Output.Complete();
             },
             null);
+#pragma warning restore 0618
         }
 
         public override ValueTask DisposeAsync() => DisposeCoreAsync();

+ 9 - 7
src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ServerSentEventsTransport.cs

@@ -21,6 +21,7 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal
         // Volatile so that the SSE loop sees the updated value set from a different thread
         private volatile Exception _error;
         private readonly CancellationTokenSource _transportCts = new CancellationTokenSource();
+        private readonly CancellationTokenSource _inputCts = new CancellationTokenSource();
         private readonly ServerSentEventsMessageParser _parser = new ServerSentEventsMessageParser();
         private IDuplexPipe _transport;
         private IDuplexPipe _application;
@@ -84,17 +85,16 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal
             // Cancellation token will be triggered when the pipe is stopped on the client.
             // This is to avoid the client throwing from a 404 response caused by the
             // server stopping the connection while the send message request is in progress.
-            var inputCts = new CancellationTokenSource();
-            _application.Input.OnWriterCompleted((exception, state) => ((CancellationTokenSource)state).Cancel(), inputCts);
+            // _application.Input.OnWriterCompleted((exception, state) => ((CancellationTokenSource)state).Cancel(), inputCts);
 
-            Running = ProcessAsync(url, response, inputCts.Token);
+            Running = ProcessAsync(url, response);
         }
 
-        private async Task ProcessAsync(Uri url, HttpResponseMessage response, CancellationToken inputCancellationToken)
+        private async Task ProcessAsync(Uri url, HttpResponseMessage response)
         {
             // Start sending and polling (ask for binary if the server supports it)
-            var receiving = ProcessEventStream(_application, response, _transportCts.Token);
-            var sending = SendUtils.SendMessages(url, _application, _httpClient, _logger, inputCancellationToken);
+            var receiving = ProcessEventStream(response, _transportCts.Token);
+            var sending = SendUtils.SendMessages(url, _application, _httpClient, _logger, _inputCts.Token);
 
             // Wait for send or receive to complete
             var trigger = await Task.WhenAny(receiving, sending);
@@ -105,6 +105,8 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal
                 // 1. Waiting for application data
                 // 2. Waiting for an outgoing send (this should be instantaneous)
 
+                _inputCts.Cancel();
+
                 // Cancel the application so that ReadAsync yields
                 _application.Input.CancelPendingRead();
 
@@ -124,7 +126,7 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal
             }
         }
 
-        private async Task ProcessEventStream(IDuplexPipe application, HttpResponseMessage response, CancellationToken cancellationToken)
+        private async Task ProcessEventStream(HttpResponseMessage response, CancellationToken cancellationToken)
         {
             Log.StartReceive(_logger);
 

+ 2 - 0
src/SignalR/common/Http.Connections/test/HttpConnectionManagerTests.cs

@@ -1,6 +1,8 @@
 // Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
+#pragma warning disable CS0618 // TODO: Remove when we replace the events
+
 using System;
 using System.Buffers;
 using System.IO.Pipelines;

+ 1 - 1
src/SignalR/common/SignalR.Common/test/Internal/Protocol/JsonHubProtocolTests.cs

@@ -124,7 +124,7 @@ namespace Microsoft.AspNetCore.SignalR.Common.Tests.Internal.Protocol
         public static IDictionary<string, JsonProtocolTestData> CustomProtocolTestData => new[]
         {
             new JsonProtocolTestData("InvocationMessage_HasFloatArgument", new InvocationMessage(null, "Target", new object[] { 1, "Foo", 2.0f }), true, true, "{\"type\":1,\"target\":\"Target\",\"arguments\":[1,\"Foo\",2]}"),
-            new JsonProtocolTestData("InvocationMessage_StringIsoDateArgument", new InvocationMessage("Method", new object[] { "2016-05-10T13:51:20+12:34" }), true, true, "{\"type\":1,\"target\":\"Method\",\"arguments\":[\"2016-05-10T13:51:20\\u002b12:34\"]}"),
+            new JsonProtocolTestData("InvocationMessage_StringIsoDateArgument", new InvocationMessage("Method", new object[] { "2016-05-10T13:51:20+12:34" }), true, true, "{\"type\":1,\"target\":\"Method\",\"arguments\":[\"2016-05-10T13:51:20\\u002B12:34\"]}"),
             new JsonProtocolTestData("InvocationMessage_HasCustomArgumentWithNoCamelCase", new InvocationMessage(null, "Target", new object[] { new TemporaryCustomObject() { ByteArrProp = new byte[] { 1, 2, 3 } } }), false, true, "{\"type\":1,\"target\":\"Target\",\"arguments\":[{\"StringProp\":\"SignalR!\",\"DoubleProp\":6.2831853071,\"IntProp\":42,\"DateTimeProp\":\"2017-04-11T00:00:00Z\",\"ByteArrProp\":\"AQID\"}]}"),
             new JsonProtocolTestData("InvocationMessage_HasCustomArgumentWithNullValueIgnore", new InvocationMessage(null, "Target", new object[] { new TemporaryCustomObject() { ByteArrProp = new byte[] { 1, 2, 3 } } }), true, true, "{\"type\":1,\"target\":\"Target\",\"arguments\":[{\"stringProp\":\"SignalR!\",\"doubleProp\":6.2831853071,\"intProp\":42,\"dateTimeProp\":\"2017-04-11T00:00:00Z\",\"byteArrProp\":\"AQID\"}]}"),
             new JsonProtocolTestData("InvocationMessage_HasCustomArgumentWithNullValueIgnoreAndNoCamelCase", new InvocationMessage(null, "Target", new object[] { new TemporaryCustomObject() { ByteArrProp = new byte[] { 1, 2, 3 } } }), false, false, "{\"type\":1,\"target\":\"Target\",\"arguments\":[{\"StringProp\":\"SignalR!\",\"DoubleProp\":6.2831853071,\"IntProp\":42,\"DateTimeProp\":\"2017-04-11T00:00:00Z\",\"NullProp\":null,\"ByteArrProp\":\"AQID\"}]}"),

+ 2 - 0
src/SignalR/common/testassets/Tests.Utils/PipeCompletionExtensions.cs

@@ -1,6 +1,8 @@
 // Copyright (c) .NET Foundation. All rights reserved.
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
+#pragma warning disable 0618 // TODO: Remove dependency on pipe events
+
 using System.Threading.Tasks;
 
 namespace System.IO.Pipelines

+ 1 - 6
src/SignalR/perf/Microbenchmarks/Shared/TestPipeReader.cs

@@ -36,11 +36,6 @@ namespace Microsoft.AspNetCore.SignalR.Microbenchmarks.Shared
             throw new NotImplementedException();
         }
 
-        public override void OnWriterCompleted(Action<Exception, object> callback, object state)
-        {
-            throw new NotImplementedException();
-        }
-
         public override ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = new CancellationToken())
         {
             if (ReadResults.Count == 0)
@@ -59,4 +54,4 @@ namespace Microsoft.AspNetCore.SignalR.Microbenchmarks.Shared
             throw new NotImplementedException();
         }
     }
-}
+}

+ 1 - 6
src/SignalR/perf/Microbenchmarks/Shared/TestPipeWriter.cs

@@ -29,11 +29,6 @@ namespace Microsoft.AspNetCore.SignalR.Microbenchmarks.Shared
             return _buffer;
         }
 
-        public override void OnReaderCompleted(Action<Exception, object> callback, object state)
-        {
-            throw new NotImplementedException();
-        }
-
         public override void CancelPendingFlush()
         {
             throw new NotImplementedException();
@@ -59,4 +54,4 @@ namespace Microsoft.AspNetCore.SignalR.Microbenchmarks.Shared
             return await Task.FromResult<FlushResult>(default).ForceAsync();
         }
     }
-}
+}

+ 1 - 1
src/submodules/MessagePack-CSharp

@@ -1 +1 @@
-Subproject commit 6f5f80e2f56fd14627108e19830685450e8701f1
+Subproject commit 8861abdde93a3b97180ac3b2eafa33459ad52392

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