Merge pull request #17336 from dotnet-maestro-bot/merge/release/3.1-to-blazor-wasm

[automated] Merge branch 'release/3.1' => 'blazor-wasm'
This commit is contained in:
William Godbe 2019-11-25 13:12:08 -08:00 committed by GitHub
commit ca948aae28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 478 additions and 237 deletions

View File

@ -640,7 +640,7 @@ stages:
publishInstallersAndChecksums: true publishInstallersAndChecksums: true
# This is to enable SDL runs part of Post-Build Validation Stage # This is to enable SDL runs part of Post-Build Validation Stage
SDLValidationParameters: SDLValidationParameters:
enable: false enable: true
continueOnError: false continueOnError: false
params: ' -SourceToolsList @("policheck","credscan") params: ' -SourceToolsList @("policheck","credscan")
-TsaInstanceURL $(_TsaInstanceURL) -TsaInstanceURL $(_TsaInstanceURL)
@ -651,4 +651,5 @@ stages:
-TsaIterationPath $(_TsaIterationPath) -TsaIterationPath $(_TsaIterationPath)
-TsaRepositoryName "AspNetCore" -TsaRepositoryName "AspNetCore"
-TsaCodebaseName "AspNetCore" -TsaCodebaseName "AspNetCore"
-TsaPublish $True' -TsaPublish $True
-PoliCheckAdditionalRunConfigParams @("UserExclusionPath < $(Build.SourcesDirectory)/eng/PoliCheckExclusions.xml")'

View File

@ -58,7 +58,7 @@ parameters:
installTar: true installTar: true
installNodeJs: true installNodeJs: true
installJdk: true installJdk: true
timeoutInMinutes: 270 timeoutInMinutes: 180
# We need longer than the default amount of 5 minutes to upload our logs/artifacts. (We currently take around 5 mins in the best case). # We need longer than the default amount of 5 minutes to upload our logs/artifacts. (We currently take around 5 mins in the best case).
# This makes sure we have time to upload everything in the case of a build timeout - really important for investigating a build # This makes sure we have time to upload everything in the case of a build timeout - really important for investigating a build

View File

@ -0,0 +1,3 @@
<PoliCheckExclusions>
<Exclusion Type="FolderPathFull">LINUX_TEST_RESULTS|MACOS_TEST_RESULTS|WINDOWS_TEST_RESULTS</Exclusion>
</PoliCheckExclusions>

View File

@ -9,285 +9,289 @@
--> -->
<Dependencies> <Dependencies>
<ProductDependencies> <ProductDependencies>
<Dependency Name="Microsoft.AspNetCore.Blazor.Mono" Version="3.1.0-preview3.19531.1"> <Dependency Name="Microsoft.AspNetCore.Blazor.Mono" Version="3.1.0-preview4.19572.1">
<Uri>https://github.com/aspnet/Blazor</Uri> <Uri>https://github.com/aspnet/Blazor</Uri>
<Sha>df77420cad90b1834fe43c952861dad11097d38f</Sha> <Sha>29e997d9e23dccbd6d53fddc95972c8da95cfe75</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.1.0-preview3.19553.1"> <Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri> <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
<Sha>542a22f0b0242fc7247884b316c71e921d9711da</Sha> <Sha>abd3c17b317dbe455b18a4f5937c43e0fc7a2944</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="3.1.0-preview3.19553.1"> <Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri> <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
<Sha>542a22f0b0242fc7247884b316c71e921d9711da</Sha> <Sha>abd3c17b317dbe455b18a4f5937c43e0fc7a2944</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.CodeAnalysis.Razor" Version="3.1.0-preview3.19553.1"> <Dependency Name="Microsoft.CodeAnalysis.Razor" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri> <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
<Sha>542a22f0b0242fc7247884b316c71e921d9711da</Sha> <Sha>abd3c17b317dbe455b18a4f5937c43e0fc7a2944</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.NET.Sdk.Razor" Version="3.1.0-preview3.19553.1"> <Dependency Name="Microsoft.NET.Sdk.Razor" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri> <Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
<Sha>542a22f0b0242fc7247884b316c71e921d9711da</Sha> <Sha>abd3c17b317dbe455b18a4f5937c43e0fc7a2944</Sha>
</Dependency> </Dependency>
<Dependency Name="dotnet-ef" Version="3.1.0"> <Dependency Name="dotnet-ef" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri> <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>988a8a13a524504ede374e2173651bd01f845c37</Sha> <Sha>a2f33c7d5125c6f3b671e55eb1bc58489041ad01</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.0"> <Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri> <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>988a8a13a524504ede374e2173651bd01f845c37</Sha> <Sha>a2f33c7d5125c6f3b671e55eb1bc58489041ad01</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="3.1.0"> <Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri> <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>988a8a13a524504ede374e2173651bd01f845c37</Sha> <Sha>a2f33c7d5125c6f3b671e55eb1bc58489041ad01</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.0"> <Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri> <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>988a8a13a524504ede374e2173651bd01f845c37</Sha> <Sha>a2f33c7d5125c6f3b671e55eb1bc58489041ad01</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.0"> <Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri> <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>988a8a13a524504ede374e2173651bd01f845c37</Sha> <Sha>a2f33c7d5125c6f3b671e55eb1bc58489041ad01</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="3.1.0"> <Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri> <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>988a8a13a524504ede374e2173651bd01f845c37</Sha> <Sha>a2f33c7d5125c6f3b671e55eb1bc58489041ad01</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore" Version="3.1.0"> <Dependency Name="Microsoft.EntityFrameworkCore" Version="3.1.0-rtm.19573.1">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri> <Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>988a8a13a524504ede374e2173651bd01f845c37</Sha> <Sha>a2f33c7d5125c6f3b671e55eb1bc58489041ad01</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.ActivatorUtilities.Sources" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.ActivatorUtilities.Sources" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Caching.Memory" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Caching.SqlServer" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Caching.SqlServer" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.CommandLineUtils.Sources" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.CommandLineUtils.Sources" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.Json" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.KeyPerFile" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.KeyPerFile" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Configuration" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.DependencyInjection" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.DiagnosticAdapter" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.DiagnosticAdapter" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.HashCodeCombiner.Sources" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.HashCodeCombiner.Sources" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Hosting" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Hosting" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Http" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Http" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Localization.Abstractions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Localization.Abstractions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Localization" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Localization" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.AzureAppServices" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.AzureAppServices" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.Console" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.Debug" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Testing" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging.Testing" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Logging" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.ObjectPool" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.ObjectPool" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Options" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Options" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Primitives" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.Primitives" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.TypeNameHelper.Sources" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.TypeNameHelper.Sources" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.ValueStopwatch.Sources" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.ValueStopwatch.Sources" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.WebEncoders" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Extensions.WebEncoders" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Internal.Extensions.Refs" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.Internal.Extensions.Refs" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.JSInterop" Version="3.1.0" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.JSInterop" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency>
<Dependency Name="Mono.WebAssembly.Interop" Version="3.1.0-preview4.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Bcl.AsyncInterfaces" Version="1.1.0" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64"> <Dependency Name="Microsoft.Bcl.AsyncInterfaces" Version="1.1.0" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/corefx</Uri> <Uri>https://github.com/dotnet/corefx</Uri>
@ -377,21 +381,21 @@
<Uri>https://github.com/dotnet/corefx</Uri> <Uri>https://github.com/dotnet/corefx</Uri>
<Sha>0f7f38c4fd323b26da10cce95f857f77f0f09b48</Sha> <Sha>0f7f38c4fd323b26da10cce95f857f77f0f09b48</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.1.0" CoherentParentDependency="Microsoft.Extensions.Logging"> <Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.1.1-servicing.19572.8" CoherentParentDependency="Microsoft.Extensions.Logging">
<Uri>https://github.com/dotnet/core-setup</Uri> <Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>93ee64d467eeccd7006e370e78cf6dae31c1f3e2</Sha> <Sha>9541fa09c354ea9288db00b8c1b95a34a3abdcdc</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="3.1.0" CoherentParentDependency="Microsoft.Extensions.Logging"> <Dependency Name="Microsoft.NETCore.App.Ref" Version="3.1.1-servicing.19572.8" CoherentParentDependency="Microsoft.Extensions.Logging">
<Uri>https://github.com/dotnet/core-setup</Uri> <Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>93ee64d467eeccd7006e370e78cf6dae31c1f3e2</Sha> <Sha>9541fa09c354ea9288db00b8c1b95a34a3abdcdc</Sha>
</Dependency> </Dependency>
<!-- <!--
Win-x64 is used here because we have picked an arbitrary runtime identifier to flow the version of the latest NETCore.App runtime. 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. All Runtime.$rid packages should have the same version.
--> -->
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="3.1.0" CoherentParentDependency="Microsoft.Extensions.Logging"> <Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="3.1.1-servicing.19572.8" CoherentParentDependency="Microsoft.Extensions.Logging">
<Uri>https://github.com/dotnet/core-setup</Uri> <Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>93ee64d467eeccd7006e370e78cf6dae31c1f3e2</Sha> <Sha>9541fa09c354ea9288db00b8c1b95a34a3abdcdc</Sha>
</Dependency> </Dependency>
<Dependency Name="NETStandard.Library.Ref" Version="2.1.0" Pinned="true"> <Dependency Name="NETStandard.Library.Ref" Version="2.1.0" Pinned="true">
<Uri>https://github.com/dotnet/core-setup</Uri> <Uri>https://github.com/dotnet/core-setup</Uri>
@ -404,9 +408,9 @@
<Uri>https://github.com/dotnet/corefx</Uri> <Uri>https://github.com/dotnet/corefx</Uri>
<Sha>0f7f38c4fd323b26da10cce95f857f77f0f09b48</Sha> <Sha>0f7f38c4fd323b26da10cce95f857f77f0f09b48</Sha>
</Dependency> </Dependency>
<Dependency Name="Internal.AspNetCore.Analyzers" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Internal.AspNetCore.Analyzers" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19569.2"> <Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19569.2">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
@ -420,11 +424,11 @@
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>e34d933e18ba1cd393bbafcb6018e0f858d3e89e</Sha> <Sha>e34d933e18ba1cd393bbafcb6018e0f858d3e89e</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.Testing" Version="3.1.0-rtm.19568.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.AspNetCore.Testing" Version="3.1.0-rtm.19572.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>4ebd75b961136c7ca331866eed3403becda75681</Sha> <Sha>1c5c7777ea9a19d54ab67ec1521665c99460efc5</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.4.0-beta4-19568-04" CoherentParentDependency="Microsoft.Extensions.Logging"> <Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.4.0-beta4-19569-03" CoherentParentDependency="Microsoft.Extensions.Logging">
<Uri>https://github.com/dotnet/roslyn</Uri> <Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>82f2e2541478e239dc4b04f231e90dc2b3dcb422</Sha> <Sha>82f2e2541478e239dc4b04f231e90dc2b3dcb422</Sha>
</Dependency> </Dependency>

View File

@ -64,11 +64,11 @@
<!-- Packages from dotnet/arcade --> <!-- Packages from dotnet/arcade -->
<MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19569.2</MicrosoftDotNetGenAPIPackageVersion> <MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19569.2</MicrosoftDotNetGenAPIPackageVersion>
<!-- Packages from dotnet/roslyn --> <!-- Packages from dotnet/roslyn -->
<MicrosoftNetCompilersToolsetPackageVersion>3.4.0-beta4-19568-04</MicrosoftNetCompilersToolsetPackageVersion> <MicrosoftNetCompilersToolsetPackageVersion>3.4.0-beta4-19569-03</MicrosoftNetCompilersToolsetPackageVersion>
<!-- Packages from dotnet/core-setup --> <!-- Packages from dotnet/core-setup -->
<MicrosoftExtensionsDependencyModelPackageVersion>3.1.0</MicrosoftExtensionsDependencyModelPackageVersion> <MicrosoftExtensionsDependencyModelPackageVersion>3.1.1-servicing.19572.8</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>3.1.0</MicrosoftNETCoreAppRefPackageVersion> <MicrosoftNETCoreAppRefPackageVersion>3.1.1-servicing.19572.8</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>3.1.0</MicrosoftNETCoreAppRuntimewinx64PackageVersion> <MicrosoftNETCoreAppRuntimewinx64PackageVersion>3.1.1-servicing.19572.8</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion> <NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
<!-- Packages from dotnet/corefx --> <!-- Packages from dotnet/corefx -->
<MicrosoftBclAsyncInterfacesPackageVersion>1.1.0</MicrosoftBclAsyncInterfacesPackageVersion> <MicrosoftBclAsyncInterfacesPackageVersion>1.1.0</MicrosoftBclAsyncInterfacesPackageVersion>
@ -96,81 +96,82 @@
<!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 --> <!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
<MicrosoftNETCorePlatformsPackageVersion>3.1.0</MicrosoftNETCorePlatformsPackageVersion> <MicrosoftNETCorePlatformsPackageVersion>3.1.0</MicrosoftNETCorePlatformsPackageVersion>
<!-- Packages from aspnet/Blazor --> <!-- Packages from aspnet/Blazor -->
<MicrosoftAspNetCoreBlazorMonoPackageVersion>3.1.0-preview3.19531.1</MicrosoftAspNetCoreBlazorMonoPackageVersion> <MicrosoftAspNetCoreBlazorMonoPackageVersion>3.1.0-preview4.19572.1</MicrosoftAspNetCoreBlazorMonoPackageVersion>
<!-- Packages from aspnet/Extensions --> <!-- Packages from aspnet/Extensions -->
<InternalAspNetCoreAnalyzersPackageVersion>3.1.0-rtm.19568.3</InternalAspNetCoreAnalyzersPackageVersion> <InternalAspNetCoreAnalyzersPackageVersion>3.1.0-rtm.19572.8</InternalAspNetCoreAnalyzersPackageVersion>
<MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.1.0-rtm.19568.3</MicrosoftAspNetCoreAnalyzerTestingPackageVersion> <MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.1.0-rtm.19572.8</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
<MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.1.0-rtm.19568.3</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion> <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.1.0-rtm.19572.8</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
<MicrosoftAspNetCoreTestingPackageVersion>3.1.0-rtm.19568.3</MicrosoftAspNetCoreTestingPackageVersion> <MicrosoftAspNetCoreTestingPackageVersion>3.1.0-rtm.19572.8</MicrosoftAspNetCoreTestingPackageVersion>
<MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.1.0-rtm.19568.3</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion> <MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
<MicrosoftExtensionsCachingAbstractionsPackageVersion>3.1.0</MicrosoftExtensionsCachingAbstractionsPackageVersion> <MicrosoftExtensionsCachingAbstractionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsCachingAbstractionsPackageVersion>
<MicrosoftExtensionsCachingMemoryPackageVersion>3.1.0</MicrosoftExtensionsCachingMemoryPackageVersion> <MicrosoftExtensionsCachingMemoryPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsCachingMemoryPackageVersion>
<MicrosoftExtensionsCachingSqlServerPackageVersion>3.1.0</MicrosoftExtensionsCachingSqlServerPackageVersion> <MicrosoftExtensionsCachingSqlServerPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsCachingSqlServerPackageVersion>
<MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.1.0</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion> <MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>
<MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.1.0-rtm.19568.3</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion> <MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.1.0</MicrosoftExtensionsConfigurationAbstractionsPackageVersion> <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
<MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.1.0</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion> <MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
<MicrosoftExtensionsConfigurationBinderPackageVersion>3.1.0</MicrosoftExtensionsConfigurationBinderPackageVersion> <MicrosoftExtensionsConfigurationBinderPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationBinderPackageVersion>
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.1.0</MicrosoftExtensionsConfigurationCommandLinePackageVersion> <MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.1.0</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion> <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.1.0</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion> <MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
<MicrosoftExtensionsConfigurationIniPackageVersion>3.1.0</MicrosoftExtensionsConfigurationIniPackageVersion> <MicrosoftExtensionsConfigurationIniPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationIniPackageVersion>
<MicrosoftExtensionsConfigurationJsonPackageVersion>3.1.0</MicrosoftExtensionsConfigurationJsonPackageVersion> <MicrosoftExtensionsConfigurationJsonPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationJsonPackageVersion>
<MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.1.0</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion> <MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
<MicrosoftExtensionsConfigurationPackageVersion>3.1.0</MicrosoftExtensionsConfigurationPackageVersion> <MicrosoftExtensionsConfigurationPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationPackageVersion>
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.1.0</MicrosoftExtensionsConfigurationUserSecretsPackageVersion> <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
<MicrosoftExtensionsConfigurationXmlPackageVersion>3.1.0</MicrosoftExtensionsConfigurationXmlPackageVersion> <MicrosoftExtensionsConfigurationXmlPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsConfigurationXmlPackageVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.1.0</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion> <MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
<MicrosoftExtensionsDependencyInjectionPackageVersion>3.1.0</MicrosoftExtensionsDependencyInjectionPackageVersion> <MicrosoftExtensionsDependencyInjectionPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsDependencyInjectionPackageVersion>
<MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.1.0</MicrosoftExtensionsDiagnosticAdapterPackageVersion> <MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
<MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.1.0</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion> <MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>
<MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.1.0</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion> <MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.1.0</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion> <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
<MicrosoftExtensionsFileProvidersCompositePackageVersion>3.1.0</MicrosoftExtensionsFileProvidersCompositePackageVersion> <MicrosoftExtensionsFileProvidersCompositePackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsFileProvidersCompositePackageVersion>
<MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.1.0</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion> <MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.1.0</MicrosoftExtensionsFileProvidersPhysicalPackageVersion> <MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.1.0</MicrosoftExtensionsFileSystemGlobbingPackageVersion> <MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
<MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.1.0-rtm.19568.3</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion> <MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
<MicrosoftExtensionsHostingAbstractionsPackageVersion>3.1.0</MicrosoftExtensionsHostingAbstractionsPackageVersion> <MicrosoftExtensionsHostingAbstractionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsHostingAbstractionsPackageVersion>
<MicrosoftExtensionsHostingPackageVersion>3.1.0</MicrosoftExtensionsHostingPackageVersion> <MicrosoftExtensionsHostingPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsHostingPackageVersion>
<MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.1.0-rtm.19568.3</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion> <MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
<MicrosoftExtensionsHttpPackageVersion>3.1.0</MicrosoftExtensionsHttpPackageVersion> <MicrosoftExtensionsHttpPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsHttpPackageVersion>
<MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.1.0</MicrosoftExtensionsLocalizationAbstractionsPackageVersion> <MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLocalizationAbstractionsPackageVersion>
<MicrosoftExtensionsLocalizationPackageVersion>3.1.0</MicrosoftExtensionsLocalizationPackageVersion> <MicrosoftExtensionsLocalizationPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLocalizationPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.1.0</MicrosoftExtensionsLoggingAbstractionsPackageVersion> <MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.1.0</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion> <MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
<MicrosoftExtensionsLoggingConfigurationPackageVersion>3.1.0</MicrosoftExtensionsLoggingConfigurationPackageVersion> <MicrosoftExtensionsLoggingConfigurationPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingConfigurationPackageVersion>
<MicrosoftExtensionsLoggingConsolePackageVersion>3.1.0</MicrosoftExtensionsLoggingConsolePackageVersion> <MicrosoftExtensionsLoggingConsolePackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingConsolePackageVersion>
<MicrosoftExtensionsLoggingDebugPackageVersion>3.1.0</MicrosoftExtensionsLoggingDebugPackageVersion> <MicrosoftExtensionsLoggingDebugPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingDebugPackageVersion>
<MicrosoftExtensionsLoggingEventSourcePackageVersion>3.1.0</MicrosoftExtensionsLoggingEventSourcePackageVersion> <MicrosoftExtensionsLoggingEventSourcePackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingEventSourcePackageVersion>
<MicrosoftExtensionsLoggingEventLogPackageVersion>3.1.0</MicrosoftExtensionsLoggingEventLogPackageVersion> <MicrosoftExtensionsLoggingEventLogPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingEventLogPackageVersion>
<MicrosoftExtensionsLoggingPackageVersion>3.1.0</MicrosoftExtensionsLoggingPackageVersion> <MicrosoftExtensionsLoggingPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingPackageVersion>
<MicrosoftExtensionsLoggingTestingPackageVersion>3.1.0-rtm.19568.3</MicrosoftExtensionsLoggingTestingPackageVersion> <MicrosoftExtensionsLoggingTestingPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingTestingPackageVersion>
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.1.0</MicrosoftExtensionsLoggingTraceSourcePackageVersion> <MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
<MicrosoftExtensionsObjectPoolPackageVersion>3.1.0</MicrosoftExtensionsObjectPoolPackageVersion> <MicrosoftExtensionsObjectPoolPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsObjectPoolPackageVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.1.0</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion> <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.1.0</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion> <MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
<MicrosoftExtensionsOptionsPackageVersion>3.1.0</MicrosoftExtensionsOptionsPackageVersion> <MicrosoftExtensionsOptionsPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsOptionsPackageVersion>
<MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.1.0-rtm.19568.3</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion> <MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>3.1.0</MicrosoftExtensionsPrimitivesPackageVersion> <MicrosoftExtensionsPrimitivesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.1.0-rtm.19568.3</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion> <MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
<MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.1.0-rtm.19568.3</MicrosoftExtensionsValueStopwatchSourcesPackageVersion> <MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
<MicrosoftExtensionsWebEncodersPackageVersion>3.1.0</MicrosoftExtensionsWebEncodersPackageVersion> <MicrosoftExtensionsWebEncodersPackageVersion>3.1.0-rtm.19572.8</MicrosoftExtensionsWebEncodersPackageVersion>
<MicrosoftInternalExtensionsRefsPackageVersion>3.1.0-rtm.19568.3</MicrosoftInternalExtensionsRefsPackageVersion> <MicrosoftInternalExtensionsRefsPackageVersion>3.1.0-rtm.19572.8</MicrosoftInternalExtensionsRefsPackageVersion>
<MicrosoftJSInteropPackageVersion>3.1.0</MicrosoftJSInteropPackageVersion> <MicrosoftJSInteropPackageVersion>3.1.0-rtm.19572.8</MicrosoftJSInteropPackageVersion>
<MonoWebAssemblyInteropPackageVersion>3.1.0-preview4.19572.8</MonoWebAssemblyInteropPackageVersion>
<!-- Packages from aspnet/EntityFrameworkCore --> <!-- Packages from aspnet/EntityFrameworkCore -->
<dotnetefPackageVersion>3.1.0</dotnetefPackageVersion> <dotnetefPackageVersion>3.1.0-rtm.19573.1</dotnetefPackageVersion>
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.1.0</MicrosoftEntityFrameworkCoreInMemoryPackageVersion> <MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.1.0-rtm.19573.1</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>3.1.0</MicrosoftEntityFrameworkCoreRelationalPackageVersion> <MicrosoftEntityFrameworkCoreRelationalPackageVersion>3.1.0-rtm.19573.1</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>3.1.0</MicrosoftEntityFrameworkCoreSqlitePackageVersion> <MicrosoftEntityFrameworkCoreSqlitePackageVersion>3.1.0-rtm.19573.1</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>3.1.0</MicrosoftEntityFrameworkCoreSqlServerPackageVersion> <MicrosoftEntityFrameworkCoreSqlServerPackageVersion>3.1.0-rtm.19573.1</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
<MicrosoftEntityFrameworkCoreToolsPackageVersion>3.1.0</MicrosoftEntityFrameworkCoreToolsPackageVersion> <MicrosoftEntityFrameworkCoreToolsPackageVersion>3.1.0-rtm.19573.1</MicrosoftEntityFrameworkCoreToolsPackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>3.1.0</MicrosoftEntityFrameworkCorePackageVersion> <MicrosoftEntityFrameworkCorePackageVersion>3.1.0-rtm.19573.1</MicrosoftEntityFrameworkCorePackageVersion>
<!-- Packages from aspnet/AspNetCore-Tooling --> <!-- Packages from aspnet/AspNetCore-Tooling -->
<MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.1.0-preview3.19553.1</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion> <MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.1.0-rtm.19573.1</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
<MicrosoftAspNetCoreRazorLanguagePackageVersion>3.1.0-preview3.19553.1</MicrosoftAspNetCoreRazorLanguagePackageVersion> <MicrosoftAspNetCoreRazorLanguagePackageVersion>3.1.0-rtm.19573.1</MicrosoftAspNetCoreRazorLanguagePackageVersion>
<MicrosoftCodeAnalysisRazorPackageVersion>3.1.0-preview3.19553.1</MicrosoftCodeAnalysisRazorPackageVersion> <MicrosoftCodeAnalysisRazorPackageVersion>3.1.0-rtm.19573.1</MicrosoftCodeAnalysisRazorPackageVersion>
<MicrosoftNETSdkRazorPackageVersion>3.1.0-preview3.19553.1</MicrosoftNETSdkRazorPackageVersion> <MicrosoftNETSdkRazorPackageVersion>3.1.0-rtm.19573.1</MicrosoftNETSdkRazorPackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- <!--

View File

@ -101,7 +101,7 @@ namespace Microsoft.AspNetCore.Http
EmptyDictionary.Collection.CopyTo(array, arrayIndex); EmptyDictionary.Collection.CopyTo(array, arrayIndex);
} }
_items.CopyTo(array, arrayIndex); _items?.CopyTo(array, arrayIndex);
} }
int ICollection<KeyValuePair<object, object>>.Count => _items?.Count ?? 0; int ICollection<KeyValuePair<object, object>>.Count => _items?.Count ?? 0;
@ -133,7 +133,7 @@ namespace Microsoft.AspNetCore.Http
IEnumerator<KeyValuePair<object, object>> IEnumerable<KeyValuePair<object, object>>.GetEnumerator() IEnumerator<KeyValuePair<object, object>> IEnumerable<KeyValuePair<object, object>>.GetEnumerator()
=> _items?.GetEnumerator() ?? EmptyEnumerator.Instance; => _items?.GetEnumerator() ?? EmptyEnumerator.Instance;
IEnumerator IEnumerable.GetEnumerator() => _items.GetEnumerator() ?? EmptyEnumerator.Instance; IEnumerator IEnumerable.GetEnumerator() => _items?.GetEnumerator() ?? EmptyEnumerator.Instance;
private class EmptyEnumerator : IEnumerator<KeyValuePair<object, object>> private class EmptyEnumerator : IEnumerator<KeyValuePair<object, object>>
{ {

View File

@ -0,0 +1,41 @@
// 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;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.IO.Pipelines;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.Primitives;
using Xunit;
namespace Microsoft.AspNetCore.Http
{
public class ItemsDictionaryTests
{
[Fact]
public void GetEnumerator_ShouldResolveWithoutNullReferenceException()
{
// Arrange
var dict = new ItemsDictionary();
// Act and Assert
IEnumerable en = (IEnumerable) dict;
Assert.NotNull(en.GetEnumerator());
}
[Fact]
public void CopyTo_ShouldCopyItemsWithoutNullReferenceException() {
// Arrange
var dict = new ItemsDictionary();
var pairs = new KeyValuePair<object, object>[] { new KeyValuePair<object, object>("first", "value") };
// Act and Assert
ICollection<KeyValuePair<object, object>> cl = (ICollection<KeyValuePair<object, object>>) dict;
cl.CopyTo(pairs, 0);
}
}
}

View File

@ -47,6 +47,7 @@ void HostFxr::Load(HMODULE moduleHandle)
m_corehost_set_error_writer_fn = ModuleHelpers::GetKnownProcAddress<corehost_set_error_writer_fn>(moduleHandle, "hostfxr_set_error_writer", /* optional */ true); m_corehost_set_error_writer_fn = ModuleHelpers::GetKnownProcAddress<corehost_set_error_writer_fn>(moduleHandle, "hostfxr_set_error_writer", /* optional */ true);
m_hostfxr_initialize_for_dotnet_commandline_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_initialize_for_dotnet_runtime_fn>(moduleHandle, "hostfxr_initialize_for_dotnet_command_line", /* optional */ true); m_hostfxr_initialize_for_dotnet_commandline_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_initialize_for_dotnet_runtime_fn>(moduleHandle, "hostfxr_initialize_for_dotnet_command_line", /* optional */ true);
m_hostfxr_set_runtime_property_value_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_set_runtime_property_value_fn>(moduleHandle, "hostfxr_set_runtime_property_value", /* optional */ true); m_hostfxr_set_runtime_property_value_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_set_runtime_property_value_fn>(moduleHandle, "hostfxr_set_runtime_property_value", /* optional */ true);
m_hostfxr_get_runtime_property_value_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_get_runtime_property_value_fn>(moduleHandle, "hostfxr_get_runtime_property_value", /* optional */ true);
m_hostfxr_run_app_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_run_app_fn>(moduleHandle, "hostfxr_run_app", /* optional */ true); m_hostfxr_run_app_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_run_app_fn>(moduleHandle, "hostfxr_run_app", /* optional */ true);
m_hostfxr_close_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_close_fn>(moduleHandle, "hostfxr_close", /* optional */ true); m_hostfxr_close_fn = ModuleHelpers::GetKnownProcAddress<hostfxr_close_fn>(moduleHandle, "hostfxr_close", /* optional */ true);
} }
@ -164,6 +165,15 @@ int HostFxr::SetRuntimePropertyValue(PCWSTR name, PCWSTR value) const noexcept
return 0; return 0;
} }
int HostFxr::GetRuntimePropertyValue(PCWSTR name, PWSTR* value) const noexcept
{
if (m_host_context_handle != nullptr && m_hostfxr_get_runtime_property_value_fn != nullptr)
{
return m_hostfxr_get_runtime_property_value_fn(m_host_context_handle, name, value);
}
return 0;
}
void HostFxr::Close() const noexcept void HostFxr::Close() const noexcept
{ {
if (m_host_context_handle != nullptr && m_hostfxr_close_fn != nullptr) if (m_host_context_handle != nullptr && m_hostfxr_close_fn != nullptr)

View File

@ -25,6 +25,7 @@ typedef void(*corehost_error_writer_fn) (const WCHAR* message);
typedef corehost_error_writer_fn(*corehost_set_error_writer_fn) (corehost_error_writer_fn error_writer); typedef corehost_error_writer_fn(*corehost_set_error_writer_fn) (corehost_error_writer_fn error_writer);
typedef int(*hostfxr_initialize_for_dotnet_runtime_fn)(int argc, const PCWSTR* argv, hostfxr_initialize_parameters* parameters, void* const* host_context_handle); typedef int(*hostfxr_initialize_for_dotnet_runtime_fn)(int argc, const PCWSTR* argv, hostfxr_initialize_parameters* parameters, void* const* host_context_handle);
typedef int(*hostfxr_set_runtime_property_value_fn)(void* host_context_handle, PCWSTR name, PCWSTR value); typedef int(*hostfxr_set_runtime_property_value_fn)(void* host_context_handle, PCWSTR name, PCWSTR value);
typedef int(*hostfxr_get_runtime_property_value_fn)(void* host_context_handle, PCWSTR name, PWSTR* value);
typedef int(*hostfxr_run_app_fn)(void* host_context_handle); typedef int(*hostfxr_run_app_fn)(void* host_context_handle);
typedef int(*hostfxr_close_fn)(void* hostfxr_context_handle); typedef int(*hostfxr_close_fn)(void* hostfxr_context_handle);
@ -73,6 +74,7 @@ public:
HostFxrErrorRedirector RedirectOutput(RedirectionOutput* writer) const noexcept; HostFxrErrorRedirector RedirectOutput(RedirectionOutput* writer) const noexcept;
int SetRuntimePropertyValue(PCWSTR name, PCWSTR value) const noexcept; int SetRuntimePropertyValue(PCWSTR name, PCWSTR value) const noexcept;
int GetRuntimePropertyValue(PCWSTR name, PWSTR* value) const noexcept;
int InitializeForApp(int argc, PCWSTR* argv, const std::wstring& m_dotnetExeKnownLocation) const noexcept; int InitializeForApp(int argc, PCWSTR* argv, const std::wstring& m_dotnetExeKnownLocation) const noexcept;
void Close() const noexcept; void Close() const noexcept;
@ -82,6 +84,7 @@ private:
hostfxr_get_native_search_directories_fn m_hostfxr_get_native_search_directories_fn; hostfxr_get_native_search_directories_fn m_hostfxr_get_native_search_directories_fn;
hostfxr_initialize_for_dotnet_runtime_fn m_hostfxr_initialize_for_dotnet_commandline_fn; hostfxr_initialize_for_dotnet_runtime_fn m_hostfxr_initialize_for_dotnet_commandline_fn;
hostfxr_set_runtime_property_value_fn m_hostfxr_set_runtime_property_value_fn; hostfxr_set_runtime_property_value_fn m_hostfxr_set_runtime_property_value_fn;
hostfxr_get_runtime_property_value_fn m_hostfxr_get_runtime_property_value_fn;
hostfxr_run_app_fn m_hostfxr_run_app_fn; hostfxr_run_app_fn m_hostfxr_run_app_fn;
corehost_set_error_writer_fn m_corehost_set_error_writer_fn; corehost_set_error_writer_fn m_corehost_set_error_writer_fn;
hostfxr_close_fn m_hostfxr_close_fn; hostfxr_close_fn m_hostfxr_close_fn;

View File

@ -14,6 +14,7 @@ class ConfigUtility
#define CS_ASPNETCORE_HANDLER_SETTINGS L"handlerSettings" #define CS_ASPNETCORE_HANDLER_SETTINGS L"handlerSettings"
#define CS_ASPNETCORE_HANDLER_VERSION L"handlerVersion" #define CS_ASPNETCORE_HANDLER_VERSION L"handlerVersion"
#define CS_ASPNETCORE_DEBUG_FILE L"debugFile" #define CS_ASPNETCORE_DEBUG_FILE L"debugFile"
#define CS_ASPNETCORE_ENABLE_OUT_OF_PROCESS_CONSOLE_REDIRECTION L"enableOutOfProcessConsoleRedirection"
#define CS_ASPNETCORE_DEBUG_LEVEL L"debugLevel" #define CS_ASPNETCORE_DEBUG_LEVEL L"debugLevel"
#define CS_ASPNETCORE_HANDLER_SETTINGS_NAME L"name" #define CS_ASPNETCORE_HANDLER_SETTINGS_NAME L"name"
#define CS_ASPNETCORE_HANDLER_SETTINGS_VALUE L"value" #define CS_ASPNETCORE_HANDLER_SETTINGS_VALUE L"value"
@ -40,6 +41,13 @@ public:
return FindKeyValuePair(pElement, CS_ASPNETCORE_DEBUG_LEVEL, strDebugFile); return FindKeyValuePair(pElement, CS_ASPNETCORE_DEBUG_LEVEL, strDebugFile);
} }
static
HRESULT
FindEnableOutOfProcessConsoleRedirection(IAppHostElement* pElement, STRU& strEnableOutOfProcessConsoleRedirection)
{
return FindKeyValuePair(pElement, CS_ASPNETCORE_ENABLE_OUT_OF_PROCESS_CONSOLE_REDIRECTION, strEnableOutOfProcessConsoleRedirection);
}
private: private:
static static
HRESULT HRESULT

View File

@ -252,7 +252,20 @@ IN_PROCESS_APPLICATION::ExecuteApplication()
if (m_pConfig->QueryCallStartupHook()) if (m_pConfig->QueryCallStartupHook())
{ {
RETURN_IF_NOT_ZERO(context->m_hostFxr.SetRuntimePropertyValue(DOTNETCORE_STARTUP_HOOK, ASPNETCORE_STARTUP_ASSEMBLY)); PWSTR startupHookValue = NULL;
// Will get property not found if the enviroment variable isn't set.
context->m_hostFxr.GetRuntimePropertyValue(DOTNETCORE_STARTUP_HOOK, &startupHookValue);
if (startupHookValue == NULL)
{
RETURN_IF_NOT_ZERO(context->m_hostFxr.SetRuntimePropertyValue(DOTNETCORE_STARTUP_HOOK, ASPNETCORE_STARTUP_ASSEMBLY));
}
else
{
std::wstring startupHook(startupHookValue);
startupHook.append(L";").append(ASPNETCORE_STARTUP_ASSEMBLY);
RETURN_IF_NOT_ZERO(context->m_hostFxr.SetRuntimePropertyValue(DOTNETCORE_STARTUP_HOOK, startupHook.c_str()));
}
} }
RETURN_IF_NOT_ZERO(context->m_hostFxr.SetRuntimePropertyValue(DOTNETCORE_USE_ENTRYPOINT_FILTER, L"1")); RETURN_IF_NOT_ZERO(context->m_hostFxr.SetRuntimePropertyValue(DOTNETCORE_USE_ENTRYPOINT_FILTER, L"1"));

View File

@ -158,6 +158,7 @@ PROCESS_MANAGER::GetProcess(
pConfig->QueryAnonymousAuthEnabled(), pConfig->QueryAnonymousAuthEnabled(),
pConfig->QueryEnvironmentVariables(), pConfig->QueryEnvironmentVariables(),
pConfig->QueryStdoutLogEnabled(), pConfig->QueryStdoutLogEnabled(),
pConfig->QueryEnableOutOfProcessConsoleRedirection(),
fWebsocketSupported, fWebsocketSupported,
pConfig->QueryStdoutLogFile(), pConfig->QueryStdoutLogFile(),
pConfig->QueryApplicationPhysicalPath(), // physical path pConfig->QueryApplicationPhysicalPath(), // physical path

View File

@ -25,6 +25,7 @@ SERVER_PROCESS::Initialize(
BOOL fAnonymousAuthEnabled, BOOL fAnonymousAuthEnabled,
std::map<std::wstring, std::wstring, ignore_case_comparer>& pEnvironmentVariables, std::map<std::wstring, std::wstring, ignore_case_comparer>& pEnvironmentVariables,
BOOL fStdoutLogEnabled, BOOL fStdoutLogEnabled,
BOOL fEnableOutOfProcessConsoleRedirection,
BOOL fWebSocketSupported, BOOL fWebSocketSupported,
STRU *pstruStdoutLogFile, STRU *pstruStdoutLogFile,
STRU *pszAppPhysicalPath, STRU *pszAppPhysicalPath,
@ -43,6 +44,7 @@ SERVER_PROCESS::Initialize(
m_fWindowsAuthEnabled = fWindowsAuthEnabled; m_fWindowsAuthEnabled = fWindowsAuthEnabled;
m_fBasicAuthEnabled = fBasicAuthEnabled; m_fBasicAuthEnabled = fBasicAuthEnabled;
m_fAnonymousAuthEnabled = fAnonymousAuthEnabled; m_fAnonymousAuthEnabled = fAnonymousAuthEnabled;
m_fEnableOutOfProcessConsoleRedirection = fEnableOutOfProcessConsoleRedirection;
m_pProcessManager->ReferenceProcessManager(); m_pProcessManager->ReferenceProcessManager();
m_fDebuggerAttached = FALSE; m_fDebuggerAttached = FALSE;
@ -1030,6 +1032,15 @@ SERVER_PROCESS::SetupStdHandles(
saAttr.bInheritHandle = TRUE; saAttr.bInheritHandle = TRUE;
saAttr.lpSecurityDescriptor = NULL; saAttr.lpSecurityDescriptor = NULL;
if (!m_fEnableOutOfProcessConsoleRedirection)
{
pStartupInfo->dwFlags = STARTF_USESTDHANDLES;
pStartupInfo->hStdInput = INVALID_HANDLE_VALUE;
pStartupInfo->hStdError = INVALID_HANDLE_VALUE;
pStartupInfo->hStdOutput = INVALID_HANDLE_VALUE;
return hr;
}
if (!m_fStdoutLogEnabled) if (!m_fStdoutLogEnabled)
{ {
CreatePipe(&m_hStdoutHandle, &m_hStdErrWritePipe, &saAttr, 0 /*nSize*/); CreatePipe(&m_hStdoutHandle, &m_hStdErrWritePipe, &saAttr, 0 /*nSize*/);
@ -1770,6 +1781,8 @@ SERVER_PROCESS::SERVER_PROCESS() :
m_dwListeningProcessId(0), m_dwListeningProcessId(0),
m_hListeningProcessHandle(NULL), m_hListeningProcessHandle(NULL),
m_hShutdownHandle(NULL), m_hShutdownHandle(NULL),
m_hStdErrWritePipe(NULL),
m_hReadThread(nullptr),
m_randomGenerator(std::random_device()()) m_randomGenerator(std::random_device()())
{ {
//InterlockedIncrement(&g_dwActiveServerProcesses); //InterlockedIncrement(&g_dwActiveServerProcesses);
@ -1866,13 +1879,15 @@ SERVER_PROCESS::~SERVER_PROCESS()
m_pProcessManager = NULL; m_pProcessManager = NULL;
} }
if (m_hStdoutHandle != NULL) if (m_hStdErrWritePipe != NULL)
{ {
if (m_hStdoutHandle != INVALID_HANDLE_VALUE) if (m_hStdErrWritePipe != INVALID_HANDLE_VALUE)
{ {
CloseHandle(m_hStdoutHandle); FlushFileBuffers(m_hStdErrWritePipe);
CloseHandle(m_hStdErrWritePipe);
} }
m_hStdoutHandle = NULL;
m_hStdErrWritePipe = NULL;
} }
// Forces ReadFile to cancel, causing the read loop to complete. // Forces ReadFile to cancel, causing the read loop to complete.
@ -1907,6 +1922,15 @@ SERVER_PROCESS::~SERVER_PROCESS()
m_hReadThread = nullptr; m_hReadThread = nullptr;
} }
if (m_hStdoutHandle != NULL)
{
if (m_hStdoutHandle != INVALID_HANDLE_VALUE)
{
CloseHandle(m_hStdoutHandle);
}
m_hStdoutHandle = NULL;
}
if (m_fStdoutLogEnabled) if (m_fStdoutLogEnabled)
{ {
m_Timer.CancelTimer(); m_Timer.CancelTimer();

View File

@ -37,6 +37,7 @@ public:
_In_ BOOL fAnonymousAuthEnabled, _In_ BOOL fAnonymousAuthEnabled,
_In_ std::map<std::wstring, std::wstring, ignore_case_comparer>& pEnvironmentVariables, _In_ std::map<std::wstring, std::wstring, ignore_case_comparer>& pEnvironmentVariables,
_In_ BOOL fStdoutLogEnabled, _In_ BOOL fStdoutLogEnabled,
_In_ BOOL fDisableRedirection,
_In_ BOOL fWebSocketSupported, _In_ BOOL fWebSocketSupported,
_In_ STRU *pstruStdoutLogFile, _In_ STRU *pstruStdoutLogFile,
_In_ STRU *pszAppPhysicalPath, _In_ STRU *pszAppPhysicalPath,
@ -253,6 +254,7 @@ private:
BOOL m_fBasicAuthEnabled; BOOL m_fBasicAuthEnabled;
BOOL m_fAnonymousAuthEnabled; BOOL m_fAnonymousAuthEnabled;
BOOL m_fDebuggerAttached; BOOL m_fDebuggerAttached;
BOOL m_fEnableOutOfProcessConsoleRedirection;
STTIMER m_Timer; STTIMER m_Timer;
SOCKET m_socket; SOCKET m_socket;

View File

@ -379,6 +379,12 @@ REQUESTHANDLER_CONFIG::Populate(
goto Finished; goto Finished;
} }
hr = ConfigUtility::FindEnableOutOfProcessConsoleRedirection(pAspNetCoreElement, m_fEnableOutOfProcessConsoleRedirection);
if (FAILED(hr))
{
goto Finished;
}
Finished: Finished:
if (pAspNetCoreElement != NULL) if (pAspNetCoreElement != NULL)

View File

@ -218,6 +218,12 @@ public:
return &m_struConfigPath; return &m_struConfigPath;
} }
BOOL
QueryEnableOutOfProcessConsoleRedirection()
{
return !m_fEnableOutOfProcessConsoleRedirection.Equals(L"false", 1);
}
protected: protected:
// //
@ -255,6 +261,7 @@ protected:
BOOL m_fWindowsAuthEnabled; BOOL m_fWindowsAuthEnabled;
BOOL m_fBasicAuthEnabled; BOOL m_fBasicAuthEnabled;
BOOL m_fAnonymousAuthEnabled; BOOL m_fAnonymousAuthEnabled;
STRU m_fEnableOutOfProcessConsoleRedirection;
APP_HOSTING_MODEL m_hostingModel; APP_HOSTING_MODEL m_hostingModel;
std::map<std::wstring, std::wstring, ignore_case_comparer> m_pEnvironmentVariables; std::map<std::wstring, std::wstring, ignore_case_comparer> m_pEnvironmentVariables;
STRU m_struHostFxrLocation; STRU m_struHostFxrLocation;

View File

@ -817,6 +817,42 @@ namespace Microsoft.AspNetCore.Server.IIS.FunctionalTests.InProcess
VerifyDotnetRuntimeEventLog(deploymentResult); VerifyDotnetRuntimeEventLog(deploymentResult);
} }
[ConditionalFact]
[RequiresNewHandler]
public async Task CanAddCustomStartupHook()
{
var deploymentParameters = Fixture.GetBaseDeploymentParameters();
// Deployment parameters by default set ASPNETCORE_DETAILEDERRORS to true
deploymentParameters.WebConfigBasedEnvironmentVariables["DOTNET_STARTUP_HOOKS"] = "InProcessWebSite";
var deploymentResult = await DeployAsync(deploymentParameters);
var result = await deploymentResult.HttpClient.GetAsync("/StartupHook");
var content = await result.Content.ReadAsStringAsync();
Assert.Equal("True", content);
StopServer();
}
[ConditionalFact]
[RequiresNewHandler]
public async Task CanAddCustomStartupHookWhenIISOneIsDisabled()
{
var deploymentParameters = Fixture.GetBaseDeploymentParameters();
// Deployment parameters by default set ASPNETCORE_DETAILEDERRORS to true
deploymentParameters.WebConfigBasedEnvironmentVariables["DOTNET_STARTUP_HOOKS"] = "InProcessWebSite";
deploymentParameters.HandlerSettings["callStartupHook"] = "false";
var deploymentResult = await DeployAsync(deploymentParameters);
var result = await deploymentResult.HttpClient.GetAsync("/StartupHook");
var content = await result.Content.ReadAsStringAsync();
Assert.Equal("True", content);
StopServer();
}
[ConditionalFact] [ConditionalFact]
[RequiresNewHandler] [RequiresNewHandler]
public async Task StackOverflowIsAvoidedBySettingLargerStack() public async Task StackOverflowIsAvoidedBySettingLargerStack()

View File

@ -233,6 +233,22 @@ namespace Microsoft.AspNetCore.Server.IIS.FunctionalTests
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.OutOfProcessFailedToStart(deploymentResult, "Wow!"), Logger); EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.OutOfProcessFailedToStart(deploymentResult, "Wow!"), Logger);
} }
[ConditionalFact]
[RequiresNewShim]
public async Task DisableRedirectionNoLogs()
{
var deploymentParameters = Fixture.GetBaseDeploymentParameters(HostingModel.OutOfProcess);
deploymentParameters.HandlerSettings["enableOutOfProcessConsoleRedirection"] = "false";
deploymentParameters.TransformArguments((a, _) => $"{a} ConsoleWriteSingle");
var deploymentResult = await DeployAsync(deploymentParameters);
var response = await deploymentResult.HttpClient.GetAsync("Test");
StopServer();
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.OutOfProcessFailedToStart(deploymentResult, ""), Logger);
}
[ConditionalFact] [ConditionalFact]
public async Task CaptureLogsForOutOfProcessWhenProcessFailsToStart30KbMax() public async Task CaptureLogsForOutOfProcessWhenProcessFailsToStart30KbMax()
{ {

View File

@ -84,6 +84,55 @@ namespace Microsoft.AspNetCore.Server.IIS.FunctionalTests.OutOfProcess
Assert.Equal(HttpStatusCode.BadGateway, response.StatusCode); Assert.Equal(HttpStatusCode.BadGateway, response.StatusCode);
} }
[ConditionalTheory]
[MemberData(nameof(TestVariants))]
[RequiresNewShim]
public async Task ShutdownMultipleTimesWorks(TestVariant variant)
{
// Must publish to set env vars in web.config
var deploymentParameters = Fixture.GetBaseDeploymentParameters(variant);
var deploymentResult = await DeployAsync(deploymentParameters);
// Shutdown once
var response = await deploymentResult.HttpClient.GetAsync("/Shutdown");
// Wait for server to start again.
int i;
for (i = 0; i < 10; i++)
{
// ANCM should eventually recover from being shutdown multiple times.
response = await deploymentResult.HttpClient.GetAsync("/HelloWorld");
if (response.IsSuccessStatusCode)
{
break;
}
}
if (i == 10)
{
// Didn't restart after 10 retries
Assert.False(true);
}
// Shutdown again
response = await deploymentResult.HttpClient.GetAsync("/Shutdown");
// return if server starts again.
for (i = 0; i < 10; i++)
{
// ANCM should eventually recover from being shutdown multiple times.
response = await deploymentResult.HttpClient.GetAsync("/HelloWorld");
if (response.IsSuccessStatusCode)
{
return;
}
}
// Test failure if this happens.
Assert.False(true);
}
private static int GetUnusedRandomPort() private static int GetUnusedRandomPort()
{ {
// Large number of retries to prevent test failures due to port collisions, but not infinite // Large number of retries to prevent test failures due to port collisions, but not infinite

View File

@ -32,6 +32,8 @@ namespace TestSite
{ {
public partial class Startup public partial class Startup
{ {
public static bool StartupHookCalled;
public void Configure(IApplicationBuilder app) public void Configure(IApplicationBuilder app)
{ {
if (Environment.GetEnvironmentVariable("ENABLE_HTTPS_REDIRECTION") != null) if (Environment.GetEnvironmentVariable("ENABLE_HTTPS_REDIRECTION") != null)
@ -900,6 +902,11 @@ namespace TestSite
RecursiveFunction(i - 1); RecursiveFunction(i - 1);
} }
private async Task StartupHook(HttpContext ctx)
{
await ctx.Response.WriteAsync(StartupHookCalled.ToString());
}
private async Task GetServerVariableStress(HttpContext ctx) private async Task GetServerVariableStress(HttpContext ctx)
{ {
// This test simulates the scenario where native Flush call is being // This test simulates the scenario where native Flush call is being

View File

@ -0,0 +1,9 @@
using TestSite;
internal class StartupHook
{
public static void Initialize()
{
Startup.StartupHookCalled = true;
}
}