Merge branch 'master' into merge/release/5.0-preview6-to-master

This commit is contained in:
Sébastien Ros 2020-06-10 16:35:07 -07:00 committed by GitHub
commit 34e006fdcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
487 changed files with 4799 additions and 3857 deletions

View File

@ -35,7 +35,7 @@ variables:
- name: _UseHelixOpenQueues - name: _UseHelixOpenQueues
value: 'true' value: 'true'
- name: _BuildArgs - name: _BuildArgs
value: '' value: '/p:SkipTestBuild=true'
- name: _PublishArgs - name: _PublishArgs
value: '' value: ''
- name: _SignType - name: _SignType
@ -66,6 +66,7 @@ variables:
- name: _BuildArgs - name: _BuildArgs
value: /p:TeamName=$(_TeamName) value: /p:TeamName=$(_TeamName)
/p:OfficialBuildId=$(Build.BuildNumber) /p:OfficialBuildId=$(Build.BuildNumber)
/p:SkipTestBuild=true
- name: _SignType - name: _SignType
value: real value: real
@ -81,7 +82,7 @@ variables:
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}: - ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
- name: _BuildArgs - name: _BuildArgs
value: '' value: '/p:SkipTestBuild=true'
- name: _SignType - name: _SignType
value: test value: test
- name: _PublishArgs - name: _PublishArgs
@ -158,6 +159,7 @@ stages:
-noBuildRepoTasks -noBuildRepoTasks
-pack -pack
-noBuildDeps -noBuildDeps
-noBuildNative
$(_BuildArgs) $(_BuildArgs)
$(_InternalRuntimeDownloadArgs) $(_InternalRuntimeDownloadArgs)
condition: ne(variables['Build.Reason'], 'PullRequest') condition: ne(variables['Build.Reason'], 'PullRequest')
@ -503,16 +505,6 @@ stages:
beforeBuild: beforeBuild:
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1" - powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
displayName: Setup IISExpress test certificates and schema displayName: Setup IISExpress test certificates and schema
afterBuild:
- powershell: "& ./build.ps1 -CI -nobl -NoBuild -Test /p:RunQuarantinedTests=true"
displayName: Run Quarantined Tests
continueOnError: true
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
artifacts: artifacts:
- name: Windows_Test_Dumps - name: Windows_Test_Dumps
path: artifacts/dumps/ path: artifacts/dumps/
@ -566,20 +558,6 @@ stages:
beforeBuild: beforeBuild:
- bash: "./eng/scripts/install-nginx-mac.sh" - bash: "./eng/scripts/install-nginx-mac.sh"
displayName: Installing Nginx displayName: Installing Nginx
afterBuild:
- bash: ./build.sh --ci --nobl --pack --no-build --no-restore --no-build-deps
displayName: Pack Packages (for Template tests)
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
displayName: Pack Templates (for Template tests)
- bash: ./build.sh --no-build --ci --nobl --test -p:RunQuarantinedTests=true
displayName: Run Quarantined Tests
continueOnError: true
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
artifacts: artifacts:
- name: MacOS_Test_Logs - name: MacOS_Test_Logs
path: artifacts/log/ path: artifacts/log/
@ -604,20 +582,6 @@ stages:
displayName: Installing Nginx displayName: Installing Nginx
- bash: "echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p" - bash: "echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
displayName: Increase inotify limit displayName: Increase inotify limit
afterBuild:
- bash: ./build.sh --ci --nobl --pack --no-build --no-restore --no-build-deps
displayName: Pack Packages (for Template tests)
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
displayName: Pack Templates (for Template tests)
- bash: ./build.sh --no-build --ci --nobl --test -p:RunQuarantinedTests=true
displayName: Run Quarantined Tests
continueOnError: true
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
artifacts: artifacts:
- name: Linux_Test_Logs - name: Linux_Test_Logs
path: artifacts/log/ path: artifacts/log/
@ -730,6 +694,7 @@ stages:
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/common/templates/post-build/post-build.yml - template: /eng/common/templates/post-build/post-build.yml
parameters: parameters:
# See https://github.com/dotnet/arcade/issues/2871
enableSymbolValidation: false enableSymbolValidation: false
enableSigningValidation: false
enableNugetValidation: false
publishInstallersAndChecksums: true publishInstallersAndChecksums: true

View File

@ -8,15 +8,6 @@ trigger: none
# no PR builds # no PR builds
pr: none pr: none
# Schedule this pipeline to run every midnight
schedules:
- cron: "0 8 * * *"
displayName: Daily midnight Dev builds
branches:
include:
- master
always: true
stages: stages:
- stage: build_components - stage: build_components
displayName: Build Components displayName: Build Components
@ -32,7 +23,7 @@ stages:
- script: ./build.cmd - script: ./build.cmd
-ci -ci
-arch x64 -arch x64
/bl:artifacts/log/build.components.x64.binlog /bl:$(Build.SourcesDirectory)/artifacts/log/build.components.x64.binlog
displayName: Build x64 displayName: Build x64
workingDirectory: ./src/Components workingDirectory: ./src/Components
artifacts: artifacts:
@ -55,7 +46,7 @@ stages:
- script: ./build.cmd - script: ./build.cmd
-ci -ci
-arch x64 -arch x64
/bl:artifacts/log/build.servers.x64.binlog /bl:$(Build.SourcesDirectory)/artifacts/log/build.servers.x64.binlog
displayName: Build x64 displayName: Build x64
workingDirectory: ./src/Servers workingDirectory: ./src/Servers
artifacts: artifacts:
@ -78,7 +69,7 @@ stages:
- script: ./build.cmd - script: ./build.cmd
-ci -ci
-arch x64 -arch x64
/bl:artifacts/log/build.projectTemplates.x64.binlog /bl:$(Build.SourcesDirectory)/artifacts/log/build.projectTemplates.x64.binlog
displayName: Build x64 displayName: Build x64
workingDirectory: ./src/ProjectTemplates workingDirectory: ./src/ProjectTemplates
artifacts: artifacts:
@ -101,7 +92,7 @@ stages:
- script: ./build.cmd - script: ./build.cmd
-ci -ci
-arch x64 -arch x64
/bl:artifacts/log/build.all.x64.binlog /bl:$(Build.SourcesDirectory)/artifacts/log/build.all.x64.binlog
displayName: Build x64 displayName: Build x64
artifacts: artifacts:
- name: Windows_Logs - name: Windows_Logs

View File

@ -30,7 +30,7 @@ jobs:
displayName: Build shared fx displayName: Build shared fx
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj - script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
displayName: Restore interop projects displayName: Restore interop projects
- script: .\build.cmd -ci -nobl -noBuildRepoTasks -NoRestore -test -all -projects eng\helix\helix.proj - script: .\build.cmd -ci -nobl -noBuildRepoTasks -NoRestore -test -all -noBuildNative -projects eng\helix\helix.proj
/p:IsHelixDaily=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:IsHelixDaily=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true
/p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Run build.cmd helix target displayName: Run build.cmd helix target

View File

@ -164,7 +164,7 @@ jobs:
displayName: Install JDK 11 displayName: Install JDK 11
- ${{ if eq(parameters.isTestingJob, true) }}: - ${{ if eq(parameters.isTestingJob, true) }}:
- powershell: | - powershell: |
Write-Host "##vso[task.setvariable variable=SeleniumProcessTrackingFolder]$(BuildDirectory)\artifacts\tmp\selenium\" Write-Host "##vso[task.setvariable variable=SeleniumProcessTrackingFolder]$(Build.SourcesDirectory)\artifacts\tmp\selenium\"
./eng/scripts/InstallGoogleChrome.ps1 ./eng/scripts/InstallGoogleChrome.ps1
displayName: Install Chrome displayName: Install Chrome
- ${{ if and(eq(parameters.installTar, 'true'), eq(parameters.agentOs, 'Windows')) }}: - ${{ if and(eq(parameters.installTar, 'true'), eq(parameters.agentOs, 'Windows')) }}:
@ -238,13 +238,25 @@ jobs:
continueOnError: true continueOnError: true
condition: always() condition: always()
- ${{ if and(startsWith(parameters.jobDisplayName, 'Build:'), ne(variables['skipComponentGovernanceDetection'], 'true'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
condition: and(succeeded(), ne(variables['CG_RAN'], 'true'))
displayName: 'Component Detection'
inputs:
${{ if eq(parameters.agentOs, 'Windows') }}:
ignoreDirectories: '.dotnet,.packages,artifacts\log,artifacts\symbols,artifacts\tmp'
${{ if ne(parameters.agentOs, 'Windows') }}:
ignoreDirectories: '.dotnet,.packages,artifacts/log,artifacts/symbols,artifacts/tmp'
sourceScanPath: $(Build.SourcesDirectory)
verbosity: Verbose
- ${{ each artifact in parameters.artifacts }}: - ${{ each artifact in parameters.artifacts }}:
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
displayName: Upload artifacts from ${{ artifact.path }} displayName: Upload artifacts from ${{ artifact.path }}
condition: and(or(succeeded(), eq('${{ artifact.publishOnError }}', 'true')), or(eq(variables['system.pullrequest.isfork'], false), eq('${{ artifact.includeForks }}', 'true'))) condition: and(or(succeeded(), eq('${{ artifact.publishOnError }}', 'true')), or(eq(variables['system.pullrequest.isfork'], false), eq('${{ artifact.includeForks }}', 'true')))
continueOnError: true continueOnError: true
inputs: inputs:
pathtoPublish: $(BuildDirectory)/${{ artifact.path }} pathtoPublish: $(Build.SourcesDirectory)/${{ artifact.path }}
${{ if eq(artifact.name, '') }}: ${{ if eq(artifact.name, '') }}:
artifactName: artifacts-$(AgentOsName)-$(BuildConfiguration) artifactName: artifacts-$(AgentOsName)-$(BuildConfiguration)
${{ if ne(artifact.name, '') }}: ${{ if ne(artifact.name, '') }}:

View File

@ -25,10 +25,10 @@ variables:
jobs: jobs:
- template: jobs/default-build.yml - template: jobs/default-build.yml
parameters: parameters:
jobName: Helix_quarantine_x64 jobName: Helix_quarantined_x64
jobDisplayName: 'Tests: Helix Quarantine x64' jobDisplayName: 'Tests: Helix'
agentOs: Windows agentOs: Windows
timeoutInMinutes: 240 timeoutInMinutes: 180
steps: steps:
# Build the shared framework # Build the shared framework
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log - script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
@ -46,3 +46,101 @@ jobs:
- name: Helix_logs - name: Helix_logs
path: artifacts/log/ path: artifacts/log/
publishOnError: true publishOnError: true
- template: jobs/default-build.yml
parameters:
jobName: Windows_Quarantined_x64
jobDisplayName: 'Tests: Windows x64'
agentOs: Windows
timeoutInMinutes: 180
isTestingJob: true
steps:
- powershell: "& ./build.ps1 -CI -nobl -all -pack -NoBuildJava"
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true"
displayName: Pack Templates
- script: ./build.cmd -ci -nobl -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true /p:RunQuarantinedTests=true /p:SkipHelixReadyTests=true"
displayName: Run Quarantined Tests
condition: always()
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
condition: always()
artifacts:
- name: Windows_Quarantined_Test_Logs
path: artifacts/log/
publishOnError: true
includeForks: true
- name: Windows_Quarantined_Test_Results
path: artifacts/TestResults/
publishOnError: true
includeForks: true
- template: jobs/default-build.yml
parameters:
jobName: MacOS_Quarantined_Test
jobDisplayName: "Tests: macOS 10.14"
agentOs: macOS
timeoutInMinutes: 180
isTestingJob: true
steps:
- bash: ./build.sh --all --pack --ci --nobl --no-build-java
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
displayName: Pack Templates (for Template tests)
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
displayName: Run Quarantined Tests
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
condition: always()
artifacts:
- name: MacOS_Quarantined_Test_Logs
path: artifacts/log/
publishOnError: true
includeForks: true
- name: MacOS_Quarantined_Test_Results
path: artifacts/TestResults/
publishOnError: true
includeForks: true
- template: jobs/default-build.yml
parameters:
jobName: Linux_Quarantined_Test
jobDisplayName: "Tests: Ubuntu 16.04 x64"
agentOs: Linux
timeoutInMinutes: 180
isTestingJob: true
useHostedUbuntu: false
steps:
- bash: ./build.sh --all --pack --ci --nobl --no-build-java
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
displayName: Pack Templates (for Template tests)
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
displayName: Run Quarantined Tests
- task: PublishTestResults@2
displayName: Publish Quarantined Test Results
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
condition: always()
artifacts:
- name: Linux_Quarantined_Test_Logs
path: artifacts/log/
publishOnError: true
includeForks: true
- name: Linux_Quarantined_Test_Results
path: artifacts/TestResults/
publishOnError: true
includeForks: true

View File

@ -1,5 +1,5 @@
--- ---
name: Bug report name: 🐞 Bug report
about: Create a report about something that is not working about: Create a report about something that is not working
--- ---
@ -7,7 +7,7 @@ about: Create a report about something that is not working
More information on our issue management policies can be found here: https://aka.ms/aspnet/issue-policies More information on our issue management policies can be found here: https://aka.ms/aspnet/issue-policies
Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting non-security bugs and feature requests. Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting **non-security** bugs and feature requests.
If you believe you have an issue that affects the SECURITY of the platform, please do NOT create an issue and instead email your issue details to secure@microsoft.com. Your report may be eligible for our [bug bounty](https://www.microsoft.com/en-us/msrc/bounty-dot-net-core) but ONLY if it is reported through email. If you believe you have an issue that affects the SECURITY of the platform, please do NOT create an issue and instead email your issue details to secure@microsoft.com. Your report may be eligible for our [bug bounty](https://www.microsoft.com/en-us/msrc/bounty-dot-net-core) but ONLY if it is reported through email.
For other types of questions, consider using [StackOverflow](https://stackoverflow.com). For other types of questions, consider using [StackOverflow](https://stackoverflow.com).
@ -19,15 +19,17 @@ A clear and concise description of what the bug is.
### To Reproduce ### To Reproduce
<!-- <!--
What steps can we follow to reproduce the issue? We ❤ code! Point us to a minimalistic repro project hosted in a GitHub repo.
For a repro project, create a new ASP.NET Core project using the template of your your choice, apply the minimum required code to result in the issue you're observing.
We ❤ code! Include a complete code listing or point us to a minimalistic GitHub repo. We will close this issue if:
- the repro project you share with us is complex. We can't investigate custom projects, so don't point us to such, please.
- if we will not be able to repro the behavior you're reporting
-->
``` C# ### Exceptions (if any)
Console.WriteLine("Hello, World!"); <!--
``` Include the exception you get when facing this issue
Got Exceptions? Include both the message and the stack trace
--> -->
### Further technical details ### Further technical details

View File

@ -1,5 +1,5 @@
--- ---
name: Feature request name: 💡 Feature request
about: Suggest an idea for this project about: Suggest an idea for this project
--- ---

View File

@ -1,6 +1,6 @@
{ {
"recommendations": [ "recommendations": [
"ms-vscode.csharp", "ms-dotnettools.csharp",
"ms-vscode.PowerShell", "ms-vscode.PowerShell",
"EditorConfig.EditorConfig" "EditorConfig.EditorConfig"
] ]

View File

@ -37,6 +37,42 @@
<DisableImplicitComponentsAnalyzers>true</DisableImplicitComponentsAnalyzers> <DisableImplicitComponentsAnalyzers>true</DisableImplicitComponentsAnalyzers>
</PropertyGroup> </PropertyGroup>
<!-- Disable logging of some task parameters or metadata to reduce binlog size.
Reenable logging of any particular item by changing the value of the property below to 'false'
The format is as follows:
DisableLogTaskParameter_[task name]_[parameter name] - Disable logging of a particular parameter
DisableLogTaskParameterItemMetadata_[task name]_[parameter name] - Disable logging of item metadata of the parameter
-->
<PropertyGroup>
<TrimTaskParameters Condition=" '$(TrimTaskParameters)' == '' ">true</TrimTaskParameters>
<!-- ItemsToHash is used for incremental building and hashes input properties to a file
This is not generally useful for day-to-day build debugging. -->
<DisableLogTaskParameter_Hash_ItemsToHash>$(TrimTaskParameters)</DisableLogTaskParameter_Hash_ItemsToHash>
<!-- JoinItems takes input ItemGroups. The output ItemGroup is logged. -->
<DisableLogTaskParameter_JoinItems_Right>$(TrimTaskParameters)</DisableLogTaskParameter_JoinItems_Right>
<DisableLogTaskParameter_JoinItems_Left>$(TrimTaskParameters)</DisableLogTaskParameter_JoinItems_Left>
<!-- ConvertToAbsolutePaths - The output parameter (AbsolutePaths) is interesting
while the input Path is not generally useful. The output itemgroup's metadata
is not altered by the task. -->
<DisableLogTaskParameter_ConvertToAbsolutePath_Paths>$(TrimTaskParameters)</DisableLogTaskParameter_ConvertToAbsolutePath_Paths>
<DisableLogTaskParameterItemMetadata_ConvertToAbsolutePath_Paths>$(TrimTaskParameters)</DisableLogTaskParameterItemMetadata_ConvertToAbsolutePath_Paths>
<!-- The standard msbuild Copy task does not use Metadata and thus the input/outputs
item metadata is not relevant -->
<DisableLogTaskParameterItemMetadata_Copy_SourceFiles>$(TrimTaskParameters)</DisableLogTaskParameterItemMetadata_Copy_SourceFiles>
<DisableLogTaskParameterItemMetadata_Copy_DestinationFiles>$(TrimTaskParameters)</DisableLogTaskParameterItemMetadata_Copy_DestinationFiles>
<!-- Reference metadata for GenerateDepsFile, Csc, RAR, etc. are sometimes useful, but extraordinarily large
when building against a shared framework where the number of input assemblies is very large.
Avoid logging these by default. -->
<DisableLogTaskParameterItemMetadata_GenerateDepsFile_ReferenceAssemblies>$(TrimTaskParameters)</DisableLogTaskParameterItemMetadata_GenerateDepsFile_ReferenceAssemblies>
<DisableLogTaskParameterItemMetadata_GenerateDepsFile_ReferencePaths>$(TrimTaskParameters)</DisableLogTaskParameterItemMetadata_GenerateDepsFile_ReferencePaths>
<DisableLogTaskParameterItemMetadata_ResolveAssemblyReference_Assemblies>$(TrimTaskParameters)</DisableLogTaskParameterItemMetadata_ResolveAssemblyReference_Assemblies>
<DisableLogTaskParameterItemMetadata_Csc_References>$(TrimTaskParameters)</DisableLogTaskParameterItemMetadata_Csc_References>
</PropertyGroup>
<Import Project="eng\QuarantinedTests.BeforeArcade.props" /> <Import Project="eng\QuarantinedTests.BeforeArcade.props" />
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" /> <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="eng\QuarantinedTests.AfterArcade.props" /> <Import Project="eng\QuarantinedTests.AfterArcade.props" />

View File

@ -5,6 +5,17 @@
<!-- Analyzer package are needed in source build for WebSDK --> <!-- Analyzer package are needed in source build for WebSDK -->
<ExcludeFromSourceBuild <ExcludeFromSourceBuild
Condition="'$(ExcludeFromSourceBuild)' == '' and '$(DotNetBuildFromSource)' == 'true' and '$(IsAspNetCoreApp)' != 'true' and '$(IsReferenceAssemblyProject)' != 'true' and '$(IsAnalyzersProject)' != 'true'">true</ExcludeFromSourceBuild> Condition="'$(ExcludeFromSourceBuild)' == '' and '$(DotNetBuildFromSource)' == 'true' and '$(IsAspNetCoreApp)' != 'true' and '$(IsReferenceAssemblyProject)' != 'true' and '$(IsAnalyzersProject)' != 'true'">true</ExcludeFromSourceBuild>
<!-- If the user has specified that they want to skip building any test related projects with SkipTestBuild,
suppress all targets for TestProjects using ExcludeFromBuild. -->
<ExcludeFromBuild Condition="'$(IsPackable)' != 'true' and
'$(SkipTestBuild)' == 'true' and
('$(IsTestProject)' == 'true' or
'$(IsUnitTestProject)' == 'true' or
'$(IsTestAssetProject)' == 'true' or
'$(IsBenchmarkProject)' == 'true' or
'$(IsSampleProject)' == 'true' or
'$(IsSpecificationTestProject)' == 'true')">true</ExcludeFromBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Resx settings"> <PropertyGroup Label="Resx settings">

View File

@ -54,7 +54,8 @@ You can also use -NoBuildManaged to suppress this project type.
.PARAMETER BuildNative .PARAMETER BuildNative
Build native projects (C++). Build native projects (C++).
You can also use -NoBuildNative to suppress this project type. This is the default for x64 and x86 builds but useful when you want to build _only_ native projects.
You can use -NoBuildNative to suppress this project type.
.PARAMETER BuildNodeJS .PARAMETER BuildNodeJS
Build NodeJS projects (TypeScript, JS). Build NodeJS projects (TypeScript, JS).
@ -89,8 +90,21 @@ Key for feed that can be used when downloading .NET runtimes
.EXAMPLE .EXAMPLE
Building both native and managed projects. Building both native and managed projects.
build.ps1
or
build.ps1 -BuildManaged
or
build.ps1 -BuildManaged -BuildNative build.ps1 -BuildManaged -BuildNative
.EXAMPLE
Build only native projects.
build.ps1 -BuildNative
.EXAMPLE .EXAMPLE
Building a subfolder of code. Building a subfolder of code.
@ -146,10 +160,6 @@ param(
[switch]$NoBuildRepoTasks, [switch]$NoBuildRepoTasks,
# Disable pre-build of C++ code in x64 (default) and x86 builds. Affects -All and -Projects handling and causes
# -BuildInstallers and -BuildNative to be ignored.
[switch]$ForceCoreMsbuild,
# Diagnostics # Diagnostics
[Alias('bl')] [Alias('bl')]
[switch]$BinaryLog, [switch]$BinaryLog,
@ -191,15 +201,12 @@ if ($Projects) {
{ {
$Projects = Join-Path (Get-Location) $Projects $Projects = Join-Path (Get-Location) $Projects
} }
$MSBuildArguments += "/p:ProjectToBuild=$Projects"
} }
# When adding new sub-group build flags, add them to this check. # When adding new sub-group build flags, add them to this check.
elseif (-not ($All -or $BuildNative -or $BuildManaged -or $BuildNodeJS -or $BuildInstallers -or $BuildJava)) { elseif (-not ($All -or $BuildNative -or $BuildManaged -or $BuildNodeJS -or $BuildInstallers -or $BuildJava)) {
Write-Warning "No default group of projects was specified, so building the 'managed' and its dependent subsets of projects. Run ``build.cmd -help`` for more details." Write-Warning "No default group of projects was specified, so building the managed and native projects and their dependencies. Run ``build.cmd -help`` for more details."
# This goal of this is to pick a sensible default for `build.cmd` with zero arguments.
# Now that we support subfolder invokations of build.cmd, we will be pushing to have build.cmd build everything (-all) by default
# The goal of this is to pick a sensible default for `build.cmd` with zero arguments.
$BuildManaged = $true $BuildManaged = $true
} }
@ -261,10 +268,21 @@ if ($DotNetRuntimeSourceFeed -or $DotNetRuntimeSourceFeedKey) {
# Split build categories between dotnet msbuild and desktop msbuild. Use desktop msbuild as little as possible. # Split build categories between dotnet msbuild and desktop msbuild. Use desktop msbuild as little as possible.
[string[]]$dotnetBuildArguments = $MSBuildArguments [string[]]$dotnetBuildArguments = $MSBuildArguments
if ($All) { $dotnetBuildArguments += '/p:BuildAllProjects=true'; $BuildNative = $true } if ($All) { $dotnetBuildArguments += '/p:BuildAllProjects=true' }
if ($Projects) {
if ($BuildNative) {
$MSBuildArguments += "/p:ProjectToBuild=$Projects"
} else {
$dotnetBuildArguments += "/p:ProjectToBuild=$Projects"
}
}
if ($NoBuildInstallers) { $MSBuildArguments += "/p:BuildInstallers=false"; $BuildInstallers = $false } if ($NoBuildInstallers) { $MSBuildArguments += "/p:BuildInstallers=false"; $BuildInstallers = $false }
if ($BuildInstallers) { $MSBuildArguments += "/p:BuildInstallers=true" } if ($BuildInstallers) { $MSBuildArguments += "/p:BuildInstallers=true" }
# Build native projects by default unless -NoBuildNative was specified.
$specifiedBuildNative = $BuildNative
$BuildNative = $true
if ($NoBuildNative) { $MSBuildArguments += "/p:BuildNative=false"; $BuildNative = $false } if ($NoBuildNative) { $MSBuildArguments += "/p:BuildNative=false"; $BuildNative = $false }
if ($BuildNative) { $MSBuildArguments += "/p:BuildNative=true"} if ($BuildNative) { $MSBuildArguments += "/p:BuildNative=true"}
@ -276,12 +294,13 @@ if ($NoBuildNodeJS) { $dotnetBuildArguments += "/p:BuildNodeJS=false"; $BuildNod
if ($BuildNodeJS) { $dotnetBuildArguments += "/p:BuildNodeJS=true" } if ($BuildNodeJS) { $dotnetBuildArguments += "/p:BuildNodeJS=true" }
# Don't bother with two builds if just one will build everything. Ignore super-weird cases like # Don't bother with two builds if just one will build everything. Ignore super-weird cases like
# "-Projects ... -NoBuildJava -NoBuildManaged -NoBuildNodeJS". # "-Projects ... -NoBuildJava -NoBuildManaged -NoBuildNodeJS". An empty `./build.ps1` command will build both
$ForceCoreMsbuild = $ForceCoreMsbuild -or -not ($BuildInstallers -or $BuildNative) -or ` # managed and native projects.
$Architecture.StartsWith("arm", [System.StringComparison]::OrdinalIgnoreCase) $performDesktopBuild = ($BuildInstallers -or $BuildNative) -and `
$performDotnetBuild = $ForceCoreMsbuild -or $BuildJava -or $BuildManaged -or $BuildNodeJS -or ` -not $Architecture.StartsWith("arm", [System.StringComparison]::OrdinalIgnoreCase)
$performDotnetBuild = $BuildJava -or $BuildManaged -or $BuildNodeJS -or `
($All -and -not ($NoBuildJava -and $NoBuildManaged -and $NoBuildNodeJS)) -or ` ($All -and -not ($NoBuildJava -and $NoBuildManaged -and $NoBuildNodeJS)) -or `
($Projects -and -not ($BuildInstallers -or $BuildNative)) ($Projects -and -not ($BuildInstallers -or $specifiedBuildNative))
$foundJdk = $false $foundJdk = $false
$javac = Get-Command javac -ErrorAction Ignore -CommandType Application $javac = Get-Command javac -ErrorAction Ignore -CommandType Application
@ -378,11 +397,11 @@ if ($BinaryLog) {
$ToolsetBuildArguments += "/bl:" + (Join-Path $LogDir "Build.repotasks.binlog") $ToolsetBuildArguments += "/bl:" + (Join-Path $LogDir "Build.repotasks.binlog")
} else { } else {
# Use a different binary log path when running desktop msbuild if doing both builds. # Use a different binary log path when running desktop msbuild if doing both builds.
if (-not $ForceCoreMsbuild -and $performDotnetBuild) { if ($performDesktopBuild -and $performDotnetBuild) {
$MSBuildArguments += [System.IO.Path]::ChangeExtension($bl, "native.binlog") $MSBuildArguments += "/bl:" + [System.IO.Path]::ChangeExtension($bl, "native.binlog")
} }
$ToolsetBuildArguments += [System.IO.Path]::ChangeExtension($bl, "repotasks.binlog") $ToolsetBuildArguments += "/bl:" + [System.IO.Path]::ChangeExtension($bl, "repotasks.binlog")
} }
} elseif ($CI) { } elseif ($CI) {
# Ensure the artifacts/log directory isn't empty to avoid warnings. # Ensure the artifacts/log directory isn't empty to avoid warnings.
@ -421,7 +440,7 @@ try {
@ToolsetBuildArguments @ToolsetBuildArguments
} }
if (-not $ForceCoreMsbuild) { if ($performDesktopBuild) {
Write-Host Write-Host
Remove-Item variable:global:_BuildTool -ErrorAction Ignore Remove-Item variable:global:_BuildTool -ErrorAction Ignore
$msbuildEngine = 'vs' $msbuildEngine = 'vs'

View File

@ -1,5 +1,4 @@
Helix testing in ASP.NET Core # Helix testing in ASP.NET Core
==============================
Helix is the distributed test platform that we use to run tests. We build a helix payload that contains the publish directory of every test project that we want to test Helix is the distributed test platform that we use to run tests. We build a helix payload that contains the publish directory of every test project that we want to test
send a job with with this payload to a set of queues for the various combinations of OS that we want to test send a job with with this payload to a set of queues for the various combinations of OS that we want to test
@ -11,16 +10,17 @@ For more info about helix see: [SDK](https://github.com/dotnet/arcade/blob/maste
To run Helix tests for one particular test project: To run Helix tests for one particular test project:
``` ``` powershell
.\eng\scripts\RunHelix.ps1 -Project path\mytestproject.csproj .\eng\scripts\RunHelix.ps1 -Project path\mytestproject.csproj
``` ```
This will restore, and then publish all the test project including some bootstrapping scripts that will install the correct dotnet runtime/sdk before running the test assembly on the helix machine(s), and upload the job to helix. This will restore, and then publish all the test project including some bootstrapping scripts that will install the correct dotnet runtime/sdk before running the test assembly on the helix machine(s), and upload the job to helix.
## How do I look at the results of a helix run on Azure Pipelines? ## How do I look at the results of a helix run on Azure Pipelines?
There's a link embedded in the build.cmd log of the helix target on Azure Pipelines, near the bottom right that will look something like this: There's a link embedded in the build.cmd log of the helix target on Azure Pipelines, near the bottom right that will look something like this:
```
``` text
2019-02-07T21:55:48.1516089Z Results will be available from https://mc.dot.net/#/user/aspnetcore/pr~2Faspnet~2Faspnetcore/ci/20190207.34 2019-02-07T21:55:48.1516089Z Results will be available from https://mc.dot.net/#/user/aspnetcore/pr~2Faspnet~2Faspnetcore/ci/20190207.34
2019-02-07T21:56:43.2209607Z Job 0dedeef6-210e-4815-89f9-fd07513179fe is completed with 108 finished work items. 2019-02-07T21:56:43.2209607Z Job 0dedeef6-210e-4815-89f9-fd07513179fe is completed with 108 finished work items.
2019-02-07T21:56:43.5091018Z Job 4c45a464-9464-4321-906c-2503320066b0 is completed with 108 finished work items. 2019-02-07T21:56:43.5091018Z Job 4c45a464-9464-4321-906c-2503320066b0 is completed with 108 finished work items.
@ -36,11 +36,13 @@ There's a link embedded in the build.cmd log of the helix target on Azure Pipeli
The link will take you to an overview of all the tests with clickable links to the logs and each run broken down by queue. The link will take you to an overview of all the tests with clickable links to the logs and each run broken down by queue.
All of the helix runs for aspnetcore can be found here https://mc.dot.net/#/user/aspnetcore/builds All of the helix runs for aspnetcore can be found here <https://mc.dot.net/#/user/aspnetcore/builds>.
## What do I do if a test fails? ## What do I do if a test fails?
You can simulate how most tests run locally: You can simulate how most tests run locally:
```
``` powershell
dotnet publish dotnet publish
cd <the publish directory> cd <the publish directory>
dotnet vstest My.Tests.dll dotnet vstest My.Tests.dll
@ -49,11 +51,12 @@ dotnet vstest My.Tests.dll
If that doesn't help, you can try the Get Repro environment link from mission control and try to debug that way. If that doesn't help, you can try the Get Repro environment link from mission control and try to debug that way.
## Differences from running tests locally ## Differences from running tests locally
Most tests that don't just work on helix automatically are ones that depend on the source code being accessible. The helix payloads only contain whatever is in the publish directories, so any thing else that test depends on will need to be included to the payload. Most tests that don't just work on helix automatically are ones that depend on the source code being accessible. The helix payloads only contain whatever is in the publish directories, so any thing else that test depends on will need to be included to the payload.
This can be accomplished by using the `HelixContent` property like so. This can be accomplished by using the `HelixContent` property like so.
``` ``` msbuild
<ItemGroup> <ItemGroup>
<HelixContent Include="$(RepoRoot)src\KeepMe.js"/> <HelixContent Include="$(RepoRoot)src\KeepMe.js"/>
<HelixContent Include="$(RepoRoot)src\Project\**"/> <HelixContent Include="$(RepoRoot)src\Project\**"/>
@ -62,7 +65,7 @@ This can be accomplished by using the `HelixContent` property like so.
By default, these files will be included in the root directory. To include these files in a different directory, you can use either the `Link` or `LinkBase` attributes to set the included path. By default, these files will be included in the root directory. To include these files in a different directory, you can use either the `Link` or `LinkBase` attributes to set the included path.
``` ``` msbuild
<ItemGroup> <ItemGroup>
<HelixContent Include="$(RepoRoot)src\KeepMe.js" Link="$(MSBuildThisFileDirectory)\myassets\KeepMe.js"/> <HelixContent Include="$(RepoRoot)src\KeepMe.js" Link="$(MSBuildThisFileDirectory)\myassets\KeepMe.js"/>
<HelixContent Include="$(RepoRoot)src\Project\**" LinkBase="$(MSBuildThisFileDirectory)\myassets"/> <HelixContent Include="$(RepoRoot)src\Project\**" LinkBase="$(MSBuildThisFileDirectory)\myassets"/>
@ -70,8 +73,10 @@ By default, these files will be included in the root directory. To include these
``` ```
## How to skip tests on helix ## How to skip tests on helix
There are two main ways to opt out of helix There are two main ways to opt out of helix
- Skipping the entire test project via `<BuildHelixPayload>false</BuildHelixPayload>` in csproj (the default value for this is IsTestProject). - Skipping the entire test project via `<BuildHelixPayload>false</BuildHelixPayload>` in csproj (the default value for this is IsTestProject).
- Skipping an individual test via `[SkipOnHelix("url to github issue")]` which might require including a compile reference to: `<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />` - Skipping an individual test via `[SkipOnHelix("url to github issue")]`.
Make sure to file an issue for any skipped tests and include that in a comment next to either of these Make sure to file an issue for any skipped tests and include that in a comment next to either of these

63
docs/TriageProcess.md Normal file
View File

@ -0,0 +1,63 @@
Managing a popular GitHub repo with a small team is not an easy task. It requires a good balance between creating new features while handling many investigations and bug fixes associated with existing ones.
During the last couple of years the amount of incoming issues has been constantly growing. While this is a sign of a healthy framework and ecosystem surrounding it, it's becoming harder to react to all those issues.
To be able to keep up with ever-evolving expectations, we're introducing a set of rules to help us better handle the incoming issues going forward.
**Note:** Customers that need help with **urgent investigations** should contact [Microsoft Support](https://dotnet.microsoft.com/platform/support).
## Goals
The goals of these rules are listed below in priority order:
- Make it easy to make triage decisions for each issue filed in this repository
- Be able to easily prioritize issues for each milestone
- Set proper expectations with customers regarding how issues are going to be handled
## Triage Process
The feature teams should be able look through every single issue filed against this repository and be able to make a quick call regarding the nature of the issue.
We will first categorize the issues and further handle these depending on the category the issue is in. The subsections below reprsent these categories and the rules we apply for them during our triage meeting.
### Information Gathering
In this phase we instruct the user on how to collect the appropriate diagnostics and see if they are able to address the issue with that additional information. When we need user input we will mark the issue with `Needs: Author Feedback` label. Issues in this phase may be closed automatically if we do not receive timely responses, they often do not provide enough information for us to investigate further.
We'll try to respond quickly to such issues (within days). If a user has collected all of the relevant diagnostics and the issue is still not apparent, then we will consider it for further [investigation](#investigations) by the team.
### Feature requests
As soon as we identify an issue represents an ask for a new feature, we will label the issue with the `enhancement` label.
Most of the time, we will automatically move these issues into the `Next Sprint Planning` milestone for further review during the [next sprint planning meeting](#milestone-planning).
If we think the feature request is not aligned with our goals, we may choose to close it immediately.
In some situations, however, we may choose to collect more feedback before acting on the issue. In these situations we will move the issue in the `Backlog` so that we can review it during the [release planning](#release-planning).
### Bug reports
If it's immediately clear, that the issue is related to a bug in the framework, we will apply the `bug` label to the issue.
At this point, we will try to make a call regarding it's impact and severity. If the issue is critical, we may choose to include it in our current milestone for immediate handling or potentially patching.
If the bug is relatively high impact, we will move the issue into the `Next Sprint Planning` milestone to review during our [next sprint planning](#milestone-planning) meeting.
If the impact is unclear or the is a very corner case scenario, we may move it to the `Backlog` milestone to further evaluate the impact by reviewing customer upvotes / comments at a later time.
### Investigations
In many situations it's not immediately clear whether a specific issue reported is a bug or not. To be certain, the team will need to spend time to investigate it before making a call regarding the faith of the issue. In these situations we will apply the `investigate` label to the issue.
In many situations, these issues turn out to be a result of some kind of misconfiguration in the user code.
In some rare situations, however, these turn out to be caused by very impactful issues. So we will make a call during the triage whether we need to immediately investigate certain issues or not.
If not, we will move the investigation to the `Next Sprint Planning` to review during the [next sprint planning meeting](#milestone-planning).
### Documentation requests
Some issues turn out to indicate user confusion around how to configure different aspects of the framework.
When we determine such isssues, we will mark these with the `Docs` label and move them into the `Next Sprint Planning` milestone to handle at a later time. The goal here will be to fill in the gaps or clarify our documentation, so that customers can be successful by using the guidance provided in the documentation.
If we identify a documentation issue which too many customers are having trouble with, we may choose to address that in current milestone.
## Milestone Planning
Our milestones are usually a month long.
Before each milestone we have one or more planning meetings, where we look through all the accumulated issues in the `Next Sprint Planning` milestone and choose the most important and impactful ones to handle during the next milestone. This will be a mixture of feature requests, bug fixes, documentation issues as well as some investigations.
Note, that we will investigate only issues, which have accumulated more than certain number of upvotes and/or comments, which will indicate that there is some wider impact associated with it.
We may not investigate issues which haven't received many votes/comments and choose to close these. The reason is that the impact is very scoped and potentially something is wrong in the user code. Consider asking these questions on StackOverflow.
For some feature requests and bug reports, depending on the user involvement, we may choose to move these to the backlog at this point. What this means, is that they will not be looked at again up until the next major release planning.
## Release Planning
Once we approach to the end of the release cylce (.NET Core 3, .NET 5) we will look through the accumulated issues in the `Backlog` milestone. This is a long process as the amount of issues accumulated in this milestone is quite large.
We will try to prioritize issues with most community requests / upvotes assuming these are aligned with our goals.
Issues, which we will think are candidates for the upcoming release, will be moved to the `Next Sprint Planning` milestone.
## Process Visualization
The following diagram summarizes the processes detailed above:
![image](https://user-images.githubusercontent.com/34246760/84076162-23d58c00-a98a-11ea-909d-6d17b91d4f84.png)

View File

@ -1,12 +1,10 @@
<Project> <Project>
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(GenerateChecksums)' == 'true'" />
<PropertyGroup Condition="'$(GenerateChecksums)' == 'true'"> <PropertyGroup Condition="'$(GenerateChecksums)' == 'true'">
<!-- The one use of ArtifactsDir in Publish.proj adds an additional slash, confusing itself. --> <!-- The one use of ArtifactsDir in Publish.proj adds an additional slash, confusing itself. -->
<ArtifactsDir Condition=" HasTrailingSlash('$(ArtifactsDir)') ">$(ArtifactsDir.Substring(0, $([MSBuild]::Subtract($(ArtifactsDir.Length), 1))))</ArtifactsDir> <ArtifactsDir Condition=" HasTrailingSlash('$(ArtifactsDir)') ">$(ArtifactsDir.Substring(0, $([MSBuild]::Subtract($(ArtifactsDir.Length), 1))))</ArtifactsDir>
<!-- $(InstallersOutputPath) is not defined. Root Directory.Build.props is not imported. --> <!-- $(InstallersOutputPath) is not defined. Root Directory.Build.props is not imported. -->
<InstallersOutputPath>$(ArtifactsDir)\installers\</InstallersOutputPath> <InstallersOutputPath>$(ArtifactsDir)\installers\</InstallersOutputPath>
<_SuppressSdkImports>false</_SuppressSdkImports>
</PropertyGroup> </PropertyGroup>
<Target Name="PopulateGenerateChecksumItems" <Target Name="PopulateGenerateChecksumItems"

View File

@ -2,7 +2,7 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<AspNetCoreBaselineVersion>3.1.4</AspNetCoreBaselineVersion> <AspNetCoreBaselineVersion>3.1.5</AspNetCoreBaselineVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: AspNetCoreRuntime.3.0.x64--> <!-- Package: AspNetCoreRuntime.3.0.x64-->
<PropertyGroup Condition=" '$(PackageId)' == 'AspNetCoreRuntime.3.0.x64' "> <PropertyGroup Condition=" '$(PackageId)' == 'AspNetCoreRuntime.3.0.x64' ">
@ -16,99 +16,92 @@
<ItemGroup Condition=" '$(PackageId)' == 'AspNetCoreRuntime.3.0.x86' AND '$(TargetFramework)' == 'net461' " /> <ItemGroup Condition=" '$(PackageId)' == 'AspNetCoreRuntime.3.0.x86' AND '$(TargetFramework)' == 'net461' " />
<!-- Package: dotnet-sql-cache--> <!-- Package: dotnet-sql-cache-->
<PropertyGroup Condition=" '$(PackageId)' == 'dotnet-sql-cache' "> <PropertyGroup Condition=" '$(PackageId)' == 'dotnet-sql-cache' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.Authentication.WebAssembly.Msal-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Authentication.WebAssembly.Msal' ">
<BaselinePackageVersion>3.2.0</BaselinePackageVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Authentication.WebAssembly.Msal' AND '$(TargetFramework)' == 'netstandard2.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="[3.2.0, )" />
</ItemGroup>
<!-- Package: Microsoft.AspNetCore.ApiAuthorization.IdentityServer--> <!-- Package: Microsoft.AspNetCore.ApiAuthorization.IdentityServer-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.ApiAuthorization.IdentityServer' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.ApiAuthorization.IdentityServer' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.ApiAuthorization.IdentityServer' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.ApiAuthorization.IdentityServer' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="[3.1.5, )" />
<BaselinePackageReference Include="IdentityServer4" Version="[3.0.0, )" /> <BaselinePackageReference Include="IdentityServer4" Version="[3.0.0, )" />
<BaselinePackageReference Include="IdentityServer4.AspNetIdentity" Version="[3.0.0, )" /> <BaselinePackageReference Include="IdentityServer4.AspNetIdentity" Version="[3.0.0, )" />
<BaselinePackageReference Include="IdentityServer4.EntityFramework" Version="[3.0.0, )" /> <BaselinePackageReference Include="IdentityServer4.EntityFramework" Version="[3.0.0, )" />
<BaselinePackageReference Include="IdentityServer4.EntityFramework.Storage" Version="[3.0.0, )" /> <BaselinePackageReference Include="IdentityServer4.EntityFramework.Storage" Version="[3.0.0, )" />
<BaselinePackageReference Include="IdentityServer4.Storage" Version="[3.0.0, )" /> <BaselinePackageReference Include="IdentityServer4.Storage" Version="[3.0.0, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Http" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Http" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.App.Runtime.win-x64--> <!-- Package: Microsoft.AspNetCore.App.Runtime.win-x64-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.App.Runtime.win-x64' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.App.Runtime.win-x64' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.AspNetCore.Authentication.AzureAD.UI--> <!-- Package: Microsoft.AspNetCore.Authentication.AzureAD.UI-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureAD.UI' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureAD.UI' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureAD.UI' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureAD.UI' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Authentication.AzureADB2C.UI--> <!-- Package: Microsoft.AspNetCore.Authentication.AzureADB2C.UI-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureADB2C.UI' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureADB2C.UI' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureADB2C.UI' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureADB2C.UI' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Authentication.Certificate--> <!-- Package: Microsoft.AspNetCore.Authentication.Certificate-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Certificate' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Certificate' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Certificate' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Certificate' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<!-- Package: Microsoft.AspNetCore.Authentication.Facebook--> <!-- Package: Microsoft.AspNetCore.Authentication.Facebook-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Facebook' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Facebook' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Facebook' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Facebook' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<!-- Package: Microsoft.AspNetCore.Authentication.Google--> <!-- Package: Microsoft.AspNetCore.Authentication.Google-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Google' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Google' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Google' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Google' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<!-- Package: Microsoft.AspNetCore.Authentication.JwtBearer--> <!-- Package: Microsoft.AspNetCore.Authentication.JwtBearer-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.JwtBearer' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.JwtBearer' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.JwtBearer' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.JwtBearer' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="[5.5.0, )" /> <BaselinePackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="[5.5.0, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Authentication.MicrosoftAccount--> <!-- Package: Microsoft.AspNetCore.Authentication.MicrosoftAccount-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.MicrosoftAccount' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.MicrosoftAccount' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.MicrosoftAccount' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.MicrosoftAccount' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<!-- Package: Microsoft.AspNetCore.Authentication.Negotiate--> <!-- Package: Microsoft.AspNetCore.Authentication.Negotiate-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Negotiate' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Negotiate' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Negotiate' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Negotiate' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Authentication.OpenIdConnect--> <!-- Package: Microsoft.AspNetCore.Authentication.OpenIdConnect-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.OpenIdConnect' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.OpenIdConnect' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.OpenIdConnect' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.OpenIdConnect' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="[5.5.0, )" /> <BaselinePackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="[5.5.0, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Authentication.Twitter--> <!-- Package: Microsoft.AspNetCore.Authentication.Twitter-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Twitter' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Twitter' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Twitter' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Twitter' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<!-- Package: Microsoft.AspNetCore.Authentication.WsFederation--> <!-- Package: Microsoft.AspNetCore.Authentication.WsFederation-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.WsFederation' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.WsFederation' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.WsFederation' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.WsFederation' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.IdentityModel.Protocols.WsFederation" Version="[5.5.0, )" /> <BaselinePackageReference Include="Microsoft.IdentityModel.Protocols.WsFederation" Version="[5.5.0, )" />
@ -116,136 +109,97 @@
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Authorization--> <!-- Package: Microsoft.AspNetCore.Authorization-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authorization' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authorization' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authorization' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authorization' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Metadata" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Metadata" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authorization' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authorization' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Metadata" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Metadata" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.AzureAppServices.HostingStartup--> <!-- Package: Microsoft.AspNetCore.AzureAppServices.HostingStartup-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServices.HostingStartup' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServices.HostingStartup' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServices.HostingStartup' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServices.HostingStartup' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.AzureAppServices.SiteExtension--> <!-- Package: Microsoft.AspNetCore.AzureAppServices.SiteExtension-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServices.SiteExtension' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServices.SiteExtension' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServices.SiteExtension' AND '$(TargetFramework)' == 'net461' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServices.SiteExtension' AND '$(TargetFramework)' == 'net461' ">
<BaselinePackageReference Include="Microsoft.Web.Xdt.Extensions" Version="[3.1.4-servicing.20216.4, )" /> <BaselinePackageReference Include="Microsoft.Web.Xdt.Extensions" Version="[3.1.5-servicing.20271.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.AzureAppServicesIntegration--> <!-- Package: Microsoft.AspNetCore.AzureAppServicesIntegration-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServicesIntegration' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServicesIntegration' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServicesIntegration' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServicesIntegration' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Blazor-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor' ">
<BaselinePackageVersion>3.2.0-preview1.20073.1</BaselinePackageVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor' AND '$(TargetFramework)' == 'netstandard2.1' ">
<BaselinePackageReference Include="Mono.WebAssembly.Interop" Version="[3.2.0-preview1.20073.1, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Components.Web" Version="[3.1.0, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Configuration" Version="[3.1.0, )" />
</ItemGroup>
<!-- Package: Microsoft.AspNetCore.Blazor.Build-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor.Build' ">
<BaselinePackageVersion>3.2.0-preview1.20073.1</BaselinePackageVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor.Build' AND '$(TargetFramework)' == 'any' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Blazor.Mono" Version="[3.2.0-preview1.20067.1, )" />
</ItemGroup>
<!-- Package: Microsoft.AspNetCore.Blazor.DevServer-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor.DevServer' ">
<BaselinePackageVersion>3.2.0-preview1.20073.1</BaselinePackageVersion>
</PropertyGroup>
<!-- Package: Microsoft.AspNetCore.Blazor.HttpClient-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor.HttpClient' ">
<BaselinePackageVersion>3.2.0-preview1.20073.1</BaselinePackageVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor.HttpClient' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="System.Text.Json" Version="[4.7.0, )" />
</ItemGroup>
<!-- Package: Microsoft.AspNetCore.Blazor.Server-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor.Server' ">
<BaselinePackageVersion>3.2.0-preview1.20073.1</BaselinePackageVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor.Server' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Mono.Cecil" Version="[0.10.1, )" />
<BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" />
</ItemGroup>
<!-- Package: Microsoft.AspNetCore.Blazor.Templates-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Blazor.Templates' ">
<BaselinePackageVersion>3.2.0-preview1.20073.1</BaselinePackageVersion>
</PropertyGroup>
<!-- Package: Microsoft.AspNetCore.Components--> <!-- Package: Microsoft.AspNetCore.Components-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components.Analyzers" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components.Analyzers" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Authorization" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authorization" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.JSInterop" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.JSInterop" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.ComponentModel.Annotations" Version="[4.7.0, )" /> <BaselinePackageReference Include="System.ComponentModel.Annotations" Version="[4.7.0, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components.Analyzers" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components.Analyzers" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Authorization" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authorization" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.JSInterop" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.JSInterop" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Components.Analyzers--> <!-- Package: Microsoft.AspNetCore.Components.Analyzers-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Analyzers' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Analyzers' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.AspNetCore.Components.Authorization--> <!-- Package: Microsoft.AspNetCore.Components.Authorization-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Authorization' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Authorization' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Authorization' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Authorization' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Authorization" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authorization" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Authorization' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Authorization' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Authorization" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Authorization" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Components.Forms--> <!-- Package: Microsoft.AspNetCore.Components.Forms-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Forms' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Forms' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Forms' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Forms' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Forms' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Forms' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.ComponentModel.Annotations" Version="[4.7.0, )" /> <BaselinePackageReference Include="System.ComponentModel.Annotations" Version="[4.7.0, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Components.Web--> <!-- Package: Microsoft.AspNetCore.Components.Web-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Web' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Web' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Web' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Web' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Components.Forms" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components.Forms" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.JSInterop" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.JSInterop" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Web' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.Web' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Components.Forms" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Components.Forms" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.JSInterop" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.JSInterop" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Components.WebAssembly--> <!-- Package: Microsoft.AspNetCore.Components.WebAssembly-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.WebAssembly' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components.WebAssembly' ">
@ -292,219 +246,219 @@
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.ConcurrencyLimiter--> <!-- Package: Microsoft.AspNetCore.ConcurrencyLimiter-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.ConcurrencyLimiter' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.ConcurrencyLimiter' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.ConcurrencyLimiter' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.ConcurrencyLimiter' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Connections.Abstractions--> <!-- Package: Microsoft.AspNetCore.Connections.Abstractions-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Connections.Abstractions' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Connections.Abstractions' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Connections.Abstractions' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Connections.Abstractions' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Http.Features" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Features" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" /> <BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Connections.Abstractions' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Connections.Abstractions' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Http.Features" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Features" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="[1.1.1, )" /> <BaselinePackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="[1.1.1, )" />
<BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" /> <BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Connections.Abstractions' AND '$(TargetFramework)' == 'netstandard2.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Connections.Abstractions' AND '$(TargetFramework)' == 'netstandard2.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Http.Features" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Features" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" /> <BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Cryptography.Internal--> <!-- Package: Microsoft.AspNetCore.Cryptography.Internal-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.Internal' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.Internal' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.Internal' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.Internal' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.Internal' AND '$(TargetFramework)' == 'netstandard2.0' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.Internal' AND '$(TargetFramework)' == 'netstandard2.0' " />
<!-- Package: Microsoft.AspNetCore.Cryptography.KeyDerivation--> <!-- Package: Microsoft.AspNetCore.Cryptography.KeyDerivation-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.KeyDerivation' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.KeyDerivation' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.KeyDerivation' AND '$(TargetFramework)' == 'netcoreapp2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.KeyDerivation' AND '$(TargetFramework)' == 'netcoreapp2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.KeyDerivation' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.KeyDerivation' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.KeyDerivation' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Cryptography.KeyDerivation' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.DataProtection--> <!-- Package: Microsoft.AspNetCore.DataProtection-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Win32.Registry" Version="[4.7.0, )" /> <BaselinePackageReference Include="Microsoft.Win32.Registry" Version="[4.7.0, )" />
<BaselinePackageReference Include="System.Security.Cryptography.Xml" Version="[4.7.0, )" /> <BaselinePackageReference Include="System.Security.Cryptography.Xml" Version="[4.7.0, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.Internal" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Win32.Registry" Version="[4.7.0, )" /> <BaselinePackageReference Include="Microsoft.Win32.Registry" Version="[4.7.0, )" />
<BaselinePackageReference Include="System.Security.Cryptography.Xml" Version="[4.7.0, )" /> <BaselinePackageReference Include="System.Security.Cryptography.Xml" Version="[4.7.0, )" />
<BaselinePackageReference Include="System.Security.Principal.Windows" Version="[4.7.0, )" /> <BaselinePackageReference Include="System.Security.Principal.Windows" Version="[4.7.0, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.DataProtection.Abstractions--> <!-- Package: Microsoft.AspNetCore.DataProtection.Abstractions-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Abstractions' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Abstractions' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Abstractions' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Abstractions' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Abstractions' AND '$(TargetFramework)' == 'netstandard2.0' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Abstractions' AND '$(TargetFramework)' == 'netstandard2.0' " />
<!-- Package: Microsoft.AspNetCore.DataProtection.AzureKeyVault--> <!-- Package: Microsoft.AspNetCore.DataProtection.AzureKeyVault-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.AzureKeyVault' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.AzureKeyVault' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.AzureKeyVault' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.AzureKeyVault' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Azure.KeyVault" Version="[2.3.2, )" /> <BaselinePackageReference Include="Microsoft.Azure.KeyVault" Version="[2.3.2, )" />
<BaselinePackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory" Version="[3.19.8, )" /> <BaselinePackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory" Version="[3.19.8, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.DataProtection.AzureStorage--> <!-- Package: Microsoft.AspNetCore.DataProtection.AzureStorage-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.AzureStorage' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.AzureStorage' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.AzureStorage' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.AzureStorage' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Azure.Storage.Blob" Version="[10.0.1, )" /> <BaselinePackageReference Include="Microsoft.Azure.Storage.Blob" Version="[10.0.1, )" />
<BaselinePackageReference Include="Microsoft.Data.OData" Version="[5.8.4, )" /> <BaselinePackageReference Include="Microsoft.Data.OData" Version="[5.8.4, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.DataProtection.EntityFrameworkCore--> <!-- Package: Microsoft.AspNetCore.DataProtection.EntityFrameworkCore-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.EntityFrameworkCore' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.EntityFrameworkCore' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.EntityFrameworkCore' AND '$(TargetFramework)' == 'netstandard2.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.EntityFrameworkCore' AND '$(TargetFramework)' == 'netstandard2.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.EntityFrameworkCore" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.EntityFrameworkCore" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.DataProtection.Extensions--> <!-- Package: Microsoft.AspNetCore.DataProtection.Extensions-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Extensions' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Extensions' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Extensions' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Extensions' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Extensions' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.Extensions' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.DataProtection.StackExchangeRedis--> <!-- Package: Microsoft.AspNetCore.DataProtection.StackExchangeRedis-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.StackExchangeRedis' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.StackExchangeRedis' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.StackExchangeRedis' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.DataProtection.StackExchangeRedis' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.DataProtection" Version="[3.1.5, )" />
<BaselinePackageReference Include="StackExchange.Redis" Version="[2.0.593, )" /> <BaselinePackageReference Include="StackExchange.Redis" Version="[2.0.593, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore--> <!-- Package: Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.HeaderPropagation--> <!-- Package: Microsoft.AspNetCore.HeaderPropagation-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.HeaderPropagation' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.HeaderPropagation' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.HeaderPropagation' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.HeaderPropagation' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Http" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Http" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Hosting.WindowsServices--> <!-- Package: Microsoft.AspNetCore.Hosting.WindowsServices-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Hosting.WindowsServices' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Hosting.WindowsServices' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Hosting.WindowsServices' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Hosting.WindowsServices' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="System.ServiceProcess.ServiceController" Version="[4.7.0, )" /> <BaselinePackageReference Include="System.ServiceProcess.ServiceController" Version="[4.7.0, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Http.Connections.Client--> <!-- Package: Microsoft.AspNetCore.Http.Connections.Client-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Client' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Client' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Client' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Client' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Http.Connections.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Connections.Common" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Client' AND '$(TargetFramework)' == 'netstandard2.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Client' AND '$(TargetFramework)' == 'netstandard2.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Http.Connections.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Connections.Common" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Http.Connections.Common--> <!-- Package: Microsoft.AspNetCore.Http.Connections.Common-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Common' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Common' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Common' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Common' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Common' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Connections.Common' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.Text.Json" Version="[4.7.2, )" /> <BaselinePackageReference Include="System.Text.Json" Version="[4.7.2, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Http.Features--> <!-- Package: Microsoft.AspNetCore.Http.Features-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Features' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Features' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Features' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Features' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Primitives" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Primitives" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" /> <BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Features' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Http.Features' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.Extensions.Primitives" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Primitives" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" /> <BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Identity.EntityFrameworkCore--> <!-- Package: Microsoft.AspNetCore.Identity.EntityFrameworkCore-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.EntityFrameworkCore' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.EntityFrameworkCore' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.EntityFrameworkCore' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.EntityFrameworkCore' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Identity.Stores" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Identity.Stores" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.EntityFrameworkCore' AND '$(TargetFramework)' == 'netstandard2.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.EntityFrameworkCore' AND '$(TargetFramework)' == 'netstandard2.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Identity.Stores" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Identity.Stores" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Identity.Specification.Tests--> <!-- Package: Microsoft.AspNetCore.Identity.Specification.Tests-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.Specification.Tests' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.Specification.Tests' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.Specification.Tests' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.Specification.Tests' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Configuration" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Configuration" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.5, )" />
<BaselinePackageReference Include="xunit.assert" Version="[2.4.1, )" /> <BaselinePackageReference Include="xunit.assert" Version="[2.4.1, )" />
<BaselinePackageReference Include="xunit.extensibility.core" Version="[2.4.1, )" /> <BaselinePackageReference Include="xunit.extensibility.core" Version="[2.4.1, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Identity.UI--> <!-- Package: Microsoft.AspNetCore.Identity.UI-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.UI' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.UI' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.UI' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Identity.UI' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Identity.Stores" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Identity.Stores" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="[3.1.5, )" />
<BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" /> <BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.JsonPatch--> <!-- Package: Microsoft.AspNetCore.JsonPatch-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.JsonPatch' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.JsonPatch' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.JsonPatch' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.JsonPatch' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.CSharp" Version="[4.7.0, )" /> <BaselinePackageReference Include="Microsoft.CSharp" Version="[4.7.0, )" />
@ -512,239 +466,239 @@
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Metadata--> <!-- Package: Microsoft.AspNetCore.Metadata-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Metadata' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Metadata' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Metadata' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Metadata' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Metadata' AND '$(TargetFramework)' == 'netstandard2.0' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Metadata' AND '$(TargetFramework)' == 'netstandard2.0' " />
<!-- Package: Microsoft.AspNetCore.MiddlewareAnalysis--> <!-- Package: Microsoft.AspNetCore.MiddlewareAnalysis-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.MiddlewareAnalysis' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.MiddlewareAnalysis' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.MiddlewareAnalysis' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.MiddlewareAnalysis' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Mvc.NewtonsoftJson--> <!-- Package: Microsoft.AspNetCore.Mvc.NewtonsoftJson-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.NewtonsoftJson' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.NewtonsoftJson' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.NewtonsoftJson' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.NewtonsoftJson' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="[3.1.5, )" />
<BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" /> <BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" />
<BaselinePackageReference Include="Newtonsoft.Json.Bson" Version="[1.0.2, )" /> <BaselinePackageReference Include="Newtonsoft.Json.Bson" Version="[1.0.2, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation--> <!-- Package: Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.CodeAnalysis.Razor" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.CodeAnalysis.Razor" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyModel" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyModel" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Mvc.Testing--> <!-- Package: Microsoft.AspNetCore.Mvc.Testing-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.Testing' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.Testing' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.Testing' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Mvc.Testing' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.TestHost" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.TestHost" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyModel" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyModel" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Hosting" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Hosting" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.NodeServices--> <!-- Package: Microsoft.AspNetCore.NodeServices-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.NodeServices' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.NodeServices' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.NodeServices' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.NodeServices' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Console" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Console" Version="[3.1.5, )" />
<BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" /> <BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.Owin--> <!-- Package: Microsoft.AspNetCore.Owin-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Owin' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Owin' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Owin' AND '$(TargetFramework)' == 'netcoreapp3.1' " /> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Owin' AND '$(TargetFramework)' == 'netcoreapp3.1' " />
<!-- Package: Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv--> <!-- Package: Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Libuv" Version="[1.10.0, )" /> <BaselinePackageReference Include="Libuv" Version="[1.10.0, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SignalR.Client--> <!-- Package: Microsoft.AspNetCore.SignalR.Client-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Client.Core" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Client.Core" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.Http.Connections.Client" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Connections.Client" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SignalR.Client.Core--> <!-- Package: Microsoft.AspNetCore.SignalR.Client.Core-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client.Core' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client.Core' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client.Core' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client.Core' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="[1.1.1, )" /> <BaselinePackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="[1.1.1, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.Threading.Channels" Version="[4.7.1, )" /> <BaselinePackageReference Include="System.Threading.Channels" Version="[4.7.1, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client.Core' AND '$(TargetFramework)' == 'netstandard2.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Client.Core' AND '$(TargetFramework)' == 'netstandard2.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.DependencyInjection" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.Threading.Channels" Version="[4.7.1, )" /> <BaselinePackageReference Include="System.Threading.Channels" Version="[4.7.1, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SignalR.Common--> <!-- Package: Microsoft.AspNetCore.SignalR.Common-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Common' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Common' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Common' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Common' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Common' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Common' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Connections.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
<BaselinePackageReference Include="System.Text.Json" Version="[4.7.2, )" /> <BaselinePackageReference Include="System.Text.Json" Version="[4.7.2, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SignalR.Protocols.Json--> <!-- Package: Microsoft.AspNetCore.SignalR.Protocols.Json-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.Json' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.Json' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.Json' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.Json' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.Json' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.Json' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SignalR.Protocols.MessagePack--> <!-- Package: Microsoft.AspNetCore.SignalR.Protocols.MessagePack-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.MessagePack' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.MessagePack' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.MessagePack' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.MessagePack' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.5, )" />
<BaselinePackageReference Include="MessagePack" Version="[1.7.3.7, )" /> <BaselinePackageReference Include="MessagePack" Version="[1.7.3.7, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson--> <!-- Package: Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.5, )" />
<BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" /> <BaselinePackageReference Include="Newtonsoft.Json" Version="[12.0.2, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SignalR.Specification.Tests--> <!-- Package: Microsoft.AspNetCore.SignalR.Specification.Tests-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Specification.Tests' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Specification.Tests' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Specification.Tests' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.Specification.Tests' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="[3.1.5, )" />
<BaselinePackageReference Include="xunit.assert" Version="[2.4.1, )" /> <BaselinePackageReference Include="xunit.assert" Version="[2.4.1, )" />
<BaselinePackageReference Include="xunit.extensibility.core" Version="[2.4.1, )" /> <BaselinePackageReference Include="xunit.extensibility.core" Version="[2.4.1, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SignalR.StackExchangeRedis--> <!-- Package: Microsoft.AspNetCore.SignalR.StackExchangeRedis-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.StackExchangeRedis' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.StackExchangeRedis' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.StackExchangeRedis' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SignalR.StackExchangeRedis' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="MessagePack" Version="[1.7.3.7, )" /> <BaselinePackageReference Include="MessagePack" Version="[1.7.3.7, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
<BaselinePackageReference Include="StackExchange.Redis" Version="[2.0.593, )" /> <BaselinePackageReference Include="StackExchange.Redis" Version="[2.0.593, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SpaServices--> <!-- Package: Microsoft.AspNetCore.SpaServices-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SpaServices' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SpaServices' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SpaServices' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SpaServices' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.NodeServices" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.NodeServices" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.SpaServices.Extensions--> <!-- Package: Microsoft.AspNetCore.SpaServices.Extensions-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SpaServices.Extensions' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SpaServices.Extensions' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SpaServices.Extensions' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.SpaServices.Extensions' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.SpaServices" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.SpaServices" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.AspNetCore.TestHost--> <!-- Package: Microsoft.AspNetCore.TestHost-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.TestHost' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.TestHost' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.TestHost' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.TestHost' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" /> <BaselinePackageReference Include="System.IO.Pipelines" Version="[4.7.1, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.dotnet-openapi--> <!-- Package: Microsoft.dotnet-openapi-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.dotnet-openapi' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.dotnet-openapi' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.DotNet.Web.Client.ItemTemplates--> <!-- Package: Microsoft.DotNet.Web.Client.ItemTemplates-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.DotNet.Web.Client.ItemTemplates' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.DotNet.Web.Client.ItemTemplates' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.DotNet.Web.ItemTemplates--> <!-- Package: Microsoft.DotNet.Web.ItemTemplates-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.DotNet.Web.ItemTemplates' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.DotNet.Web.ItemTemplates' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.DotNet.Web.ProjectTemplates.3.1--> <!-- Package: Microsoft.DotNet.Web.ProjectTemplates.3.1-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.DotNet.Web.ProjectTemplates.3.1' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.DotNet.Web.ProjectTemplates.3.1' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.DotNet.Web.Spa.ProjectTemplates.3.1--> <!-- Package: Microsoft.DotNet.Web.Spa.ProjectTemplates.3.1-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.DotNet.Web.Spa.ProjectTemplates.3.1' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.DotNet.Web.Spa.ProjectTemplates.3.1' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.Extensions.ApiDescription.Client--> <!-- Package: Microsoft.Extensions.ApiDescription.Client-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.ApiDescription.Client' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.ApiDescription.Client' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.Extensions.ApiDescription.Server--> <!-- Package: Microsoft.Extensions.ApiDescription.Server-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.ApiDescription.Server' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.ApiDescription.Server' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Package: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore--> <!-- Package: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore' AND '$(TargetFramework)' == 'netstandard2.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore' AND '$(TargetFramework)' == 'netstandard2.1' ">
<BaselinePackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.Extensions.Identity.Core--> <!-- Package: Microsoft.Extensions.Identity.Core-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Core' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Core' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Core' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Core' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Core' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Core' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<!-- Package: Microsoft.Extensions.Identity.Stores--> <!-- Package: Microsoft.Extensions.Identity.Stores-->
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Stores' "> <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Stores' ">
<BaselinePackageVersion>3.1.4</BaselinePackageVersion> <BaselinePackageVersion>3.1.5</BaselinePackageVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Stores' AND '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Stores' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
<BaselinePackageReference Include="Microsoft.Extensions.Identity.Core" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Identity.Core" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Stores' AND '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.Extensions.Identity.Stores' AND '$(TargetFramework)' == 'netstandard2.0' ">
<BaselinePackageReference Include="Microsoft.Extensions.Identity.Core" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Identity.Core" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="[3.1.5, )" />
<BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.4, )" /> <BaselinePackageReference Include="Microsoft.Extensions.Logging" Version="[3.1.5, )" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -4,93 +4,86 @@ This file contains a list of all the packages and their versions which were rele
Update this list when preparing for a new patch. Update this list when preparing for a new patch.
--> -->
<Baseline Version="3.1.4"> <Baseline Version="3.1.5">
<Package Id="AspNetCoreRuntime.3.0.x64" Version="3.0.3" /> <Package Id="AspNetCoreRuntime.3.0.x64" Version="3.0.3" />
<Package Id="AspNetCoreRuntime.3.0.x86" Version="3.0.3" /> <Package Id="AspNetCoreRuntime.3.0.x86" Version="3.0.3" />
<Package Id="dotnet-sql-cache" Version="3.1.4" /> <Package Id="dotnet-sql-cache" Version="3.1.5" />
<Package Id="Microsoft.Authentication.WebAssembly.Msal" Version="3.2.0" /> <Package Id="Microsoft.AspNetCore.ApiAuthorization.IdentityServer" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.ApiAuthorization.IdentityServer" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.App.Runtime.win-x64" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.App.Runtime.win-x64" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.Certificate" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.Certificate" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.Facebook" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.Facebook" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.Google" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.Google" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.Negotiate" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.Negotiate" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.Twitter" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.Twitter" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authentication.WsFederation" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authentication.WsFederation" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Authorization" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Authorization" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.AzureAppServices.SiteExtension" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.AzureAppServices.SiteExtension" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Components" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Blazor" Version="3.2.0-preview1.20073.1" /> <Package Id="Microsoft.AspNetCore.Components.Analyzers" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Blazor.Build" Version="3.2.0-preview1.20073.1" /> <Package Id="Microsoft.AspNetCore.Components.Authorization" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Blazor.DevServer" Version="3.2.0-preview1.20073.1" /> <Package Id="Microsoft.AspNetCore.Components.Forms" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview1.20073.1" /> <Package Id="Microsoft.AspNetCore.Components.Web" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Blazor.Server" Version="3.2.0-preview1.20073.1" />
<Package Id="Microsoft.AspNetCore.Blazor.Templates" Version="3.2.0-preview1.20073.1" />
<Package Id="Microsoft.AspNetCore.Components" Version="3.1.4" />
<Package Id="Microsoft.AspNetCore.Components.Analyzers" Version="3.1.4" />
<Package Id="Microsoft.AspNetCore.Components.Authorization" Version="3.1.4" />
<Package Id="Microsoft.AspNetCore.Components.Forms" Version="3.1.4" />
<Package Id="Microsoft.AspNetCore.Components.Web" Version="3.1.4" />
<Package Id="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.0" /> <Package Id="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.0" />
<Package Id="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.0" /> <Package Id="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.0" />
<Package Id="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="3.2.0" /> <Package Id="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="3.2.0" />
<Package Id="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="3.2.0" /> <Package Id="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="3.2.0" />
<Package Id="Microsoft.AspNetCore.Components.WebAssembly.HttpHandler" Version="3.2.0" /> <Package Id="Microsoft.AspNetCore.Components.WebAssembly.HttpHandler" Version="3.2.0" />
<Package Id="Microsoft.JSInterop.WebAssembly" Version="3.2.0" /> <Package Id="Microsoft.JSInterop.WebAssembly" Version="3.2.0" />
<Package Id="Microsoft.AspNetCore.ConcurrencyLimiter" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.ConcurrencyLimiter" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Connections.Abstractions" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Connections.Abstractions" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Cryptography.Internal" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Cryptography.Internal" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.DataProtection" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.DataProtection" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.DataProtection.Abstractions" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.DataProtection.Abstractions" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.DataProtection.AzureKeyVault" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.DataProtection.AzureKeyVault" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.DataProtection.AzureStorage" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.DataProtection.AzureStorage" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.DataProtection.Extensions" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.DataProtection.Extensions" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.HeaderPropagation" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.HeaderPropagation" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Hosting.WindowsServices" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Hosting.WindowsServices" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Http.Connections.Client" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Http.Connections.Client" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Http.Connections.Common" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Http.Connections.Common" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Http.Features" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Http.Features" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Identity.Specification.Tests" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Identity.Specification.Tests" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Identity.UI" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Identity.UI" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.JsonPatch" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.JsonPatch" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Metadata" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Metadata" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.MiddlewareAnalysis" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.MiddlewareAnalysis" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Mvc.Testing" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Mvc.Testing" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.NodeServices" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.NodeServices" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Owin" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Owin" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SignalR.Client" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SignalR.Client" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SignalR.Client.Core" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SignalR.Client.Core" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SignalR.Common" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SignalR.Common" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SignalR.Specification.Tests" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SignalR.Specification.Tests" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SpaServices" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SpaServices" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.5" />
<Package Id="Microsoft.AspNetCore.TestHost" Version="3.1.4" /> <Package Id="Microsoft.AspNetCore.TestHost" Version="3.1.5" />
<Package Id="Microsoft.dotnet-openapi" Version="3.1.4" /> <Package Id="Microsoft.dotnet-openapi" Version="3.1.5" />
<Package Id="Microsoft.DotNet.Web.Client.ItemTemplates" Version="3.1.4" /> <Package Id="Microsoft.DotNet.Web.Client.ItemTemplates" Version="3.1.5" />
<Package Id="Microsoft.DotNet.Web.ItemTemplates" Version="3.1.4" /> <Package Id="Microsoft.DotNet.Web.ItemTemplates" Version="3.1.5" />
<Package Id="Microsoft.DotNet.Web.ProjectTemplates.3.1" Version="3.1.4" /> <Package Id="Microsoft.DotNet.Web.ProjectTemplates.3.1" Version="3.1.5" />
<Package Id="Microsoft.DotNet.Web.Spa.ProjectTemplates.3.1" Version="3.1.4" /> <Package Id="Microsoft.DotNet.Web.Spa.ProjectTemplates.3.1" Version="3.1.5" />
<Package Id="Microsoft.Extensions.ApiDescription.Client" Version="3.1.4" /> <Package Id="Microsoft.Extensions.ApiDescription.Client" Version="3.1.5" />
<Package Id="Microsoft.Extensions.ApiDescription.Server" Version="3.1.4" /> <Package Id="Microsoft.Extensions.ApiDescription.Server" Version="3.1.5" />
<Package Id="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="3.1.4" /> <Package Id="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="3.1.5" />
<Package Id="Microsoft.Extensions.Identity.Core" Version="3.1.4" /> <Package Id="Microsoft.Extensions.Identity.Core" Version="3.1.5" />
<Package Id="Microsoft.Extensions.Identity.Stores" Version="3.1.4" /> <Package Id="Microsoft.Extensions.Identity.Stores" Version="3.1.5" />
</Baseline> </Baseline>

View File

@ -13,296 +13,296 @@
<Uri>https://github.com/dotnet/blazor</Uri> <Uri>https://github.com/dotnet/blazor</Uri>
<Sha>cc449601d638ffaab58ae9487f0fd010bb178a12</Sha> <Sha>cc449601d638ffaab58ae9487f0fd010bb178a12</Sha>
</Dependency> </Dependency>
<Dependency Name="dotnet-ef" Version="5.0.0-preview.6.20309.6"> <Dependency Name="dotnet-ef" Version="5.0.0-preview.7.20309.4">
<Uri>https://github.com/dotnet/efcore</Uri> <Uri>https://github.com/dotnet/efcore</Uri>
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha> <Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.0-preview.6.20309.6"> <Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.0-preview.7.20309.4">
<Uri>https://github.com/dotnet/efcore</Uri> <Uri>https://github.com/dotnet/efcore</Uri>
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha> <Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.0-preview.6.20309.6"> <Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.0-preview.7.20309.4">
<Uri>https://github.com/dotnet/efcore</Uri> <Uri>https://github.com/dotnet/efcore</Uri>
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha> <Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0-preview.6.20309.6"> <Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0-preview.7.20309.4">
<Uri>https://github.com/dotnet/efcore</Uri> <Uri>https://github.com/dotnet/efcore</Uri>
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha> <Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-preview.6.20309.6"> <Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-preview.7.20309.4">
<Uri>https://github.com/dotnet/efcore</Uri> <Uri>https://github.com/dotnet/efcore</Uri>
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha> <Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-preview.6.20309.6"> <Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-preview.7.20309.4">
<Uri>https://github.com/dotnet/efcore</Uri> <Uri>https://github.com/dotnet/efcore</Uri>
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha> <Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.0-preview.6.20309.6"> <Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.0-preview.7.20309.4">
<Uri>https://github.com/dotnet/efcore</Uri> <Uri>https://github.com/dotnet/efcore</Uri>
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha> <Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Caching.Memory" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.Json" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Configuration" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Configuration" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.DependencyInjection" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Hosting" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Hosting" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Http" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Http" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Logging.Console" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Logging.Debug" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Logging" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Logging" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Options" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Options" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Primitives" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Primitives" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.Internal.Transport" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.Internal.Transport" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Win32.Registry" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Win32.Registry" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Win32.SystemEvents" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Win32.SystemEvents" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.ComponentModel.Annotations" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.ComponentModel.Annotations" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Diagnostics.DiagnosticSource" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Diagnostics.DiagnosticSource" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Diagnostics.EventLog" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Diagnostics.EventLog" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Drawing.Common" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Drawing.Common" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.IO.Pipelines" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.IO.Pipelines" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Net.Http.Json" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Net.Http.Json" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Net.Http.WinHttpHandler" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Net.Http.WinHttpHandler" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Reflection.Metadata" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Reflection.Metadata" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Security.Cryptography.Cng" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Security.Cryptography.Cng" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Security.Cryptography.Pkcs" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Security.Cryptography.Pkcs" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Security.Cryptography.Xml" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Security.Cryptography.Xml" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Security.Permissions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Security.Permissions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Security.Principal.Windows" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Security.Principal.Windows" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.ServiceProcess.ServiceController" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.ServiceProcess.ServiceController" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Text.Encodings.Web" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Text.Encodings.Web" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Text.Json" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Text.Json" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Threading.Channels" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Threading.Channels" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="System.Windows.Extensions" Version="5.0.0-preview.6.20305.6"> <Dependency Name="System.Windows.Extensions" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.Extensions.DependencyModel" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.NETCore.App.Ref" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</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="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.NETCore.App.Internal" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.NETCore.App.Internal" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
</ProductDependencies> </ProductDependencies>
<ToolsetDependencies> <ToolsetDependencies>
<!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 --> <!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
<Dependency Name="Microsoft.NETCore.Platforms" Version="5.0.0-preview.6.20305.6"> <Dependency Name="Microsoft.NETCore.Platforms" Version="5.0.0-preview.7.20309.9">
<Uri>https://github.com/dotnet/runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha> <Sha>e2ed3631b9a2a97de10991e4b548f63086cdc67a</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.GenAPI" Version="5.0.0-beta.20278.4"> <Dependency Name="Microsoft.DotNet.GenAPI" Version="5.0.0-beta.20280.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>96c65ad967d2abbbd8e770ba752a6b64255ec669</Sha> <Sha>fef373440d604c428950236fbc2b99ce0df368a9</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20278.4"> <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20280.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>96c65ad967d2abbbd8e770ba752a6b64255ec669</Sha> <Sha>fef373440d604c428950236fbc2b99ce0df368a9</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="5.0.0-beta.20278.4"> <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="5.0.0-beta.20280.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>96c65ad967d2abbbd8e770ba752a6b64255ec669</Sha> <Sha>fef373440d604c428950236fbc2b99ce0df368a9</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.7.0-3.20271.4"> <Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.7.0-3.20271.4">
<Uri>https://github.com/dotnet/roslyn</Uri> <Uri>https://github.com/dotnet/roslyn</Uri>

View File

@ -9,7 +9,7 @@
<AspNetCoreMajorVersion>5</AspNetCoreMajorVersion> <AspNetCoreMajorVersion>5</AspNetCoreMajorVersion>
<AspNetCoreMinorVersion>0</AspNetCoreMinorVersion> <AspNetCoreMinorVersion>0</AspNetCoreMinorVersion>
<AspNetCorePatchVersion>0</AspNetCorePatchVersion> <AspNetCorePatchVersion>0</AspNetCorePatchVersion>
<PreReleaseVersionIteration>6</PreReleaseVersionIteration> <PreReleaseVersionIteration>7</PreReleaseVersionIteration>
<!-- <!--
When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages
--> -->
@ -62,82 +62,82 @@
--> -->
<PropertyGroup Label="Automated"> <PropertyGroup Label="Automated">
<!-- Packages from dotnet/arcade --> <!-- Packages from dotnet/arcade -->
<MicrosoftDotNetGenAPIPackageVersion>5.0.0-beta.20278.4</MicrosoftDotNetGenAPIPackageVersion> <MicrosoftDotNetGenAPIPackageVersion>5.0.0-beta.20280.1</MicrosoftDotNetGenAPIPackageVersion>
<!-- Packages from dotnet/roslyn --> <!-- Packages from dotnet/roslyn -->
<MicrosoftNetCompilersToolsetPackageVersion>3.7.0-3.20271.4</MicrosoftNetCompilersToolsetPackageVersion> <MicrosoftNetCompilersToolsetPackageVersion>3.7.0-3.20271.4</MicrosoftNetCompilersToolsetPackageVersion>
<!-- Packages from dotnet/runtime --> <!-- Packages from dotnet/runtime -->
<MicrosoftExtensionsDependencyModelPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsDependencyModelPackageVersion> <MicrosoftExtensionsDependencyModelPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreAppInternalPackageVersion>5.0.0-preview.6.20305.6</MicrosoftNETCoreAppInternalPackageVersion> <MicrosoftNETCoreAppInternalPackageVersion>5.0.0-preview.7.20309.9</MicrosoftNETCoreAppInternalPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>5.0.0-preview.6.20305.6</MicrosoftNETCoreAppRefPackageVersion> <MicrosoftNETCoreAppRefPackageVersion>5.0.0-preview.7.20309.9</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.0-preview.6.20305.6</MicrosoftNETCoreAppRuntimewinx64PackageVersion> <MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.0-preview.7.20309.9</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftWin32RegistryPackageVersion>5.0.0-preview.6.20305.6</MicrosoftWin32RegistryPackageVersion> <MicrosoftWin32RegistryPackageVersion>5.0.0-preview.7.20309.9</MicrosoftWin32RegistryPackageVersion>
<MicrosoftWin32SystemEventsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftWin32SystemEventsPackageVersion> <MicrosoftWin32SystemEventsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftWin32SystemEventsPackageVersion>
<MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsCachingAbstractionsPackageVersion> <MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsCachingAbstractionsPackageVersion>
<MicrosoftExtensionsCachingMemoryPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsCachingMemoryPackageVersion> <MicrosoftExtensionsCachingMemoryPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsCachingMemoryPackageVersion>
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationAbstractionsPackageVersion> <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
<MicrosoftExtensionsConfigurationBinderPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationBinderPackageVersion> <MicrosoftExtensionsConfigurationBinderPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationBinderPackageVersion>
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationCommandLinePackageVersion> <MicrosoftExtensionsConfigurationCommandLinePackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion> <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion> <MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
<MicrosoftExtensionsConfigurationIniPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationIniPackageVersion> <MicrosoftExtensionsConfigurationIniPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationIniPackageVersion>
<MicrosoftExtensionsConfigurationJsonPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationJsonPackageVersion> <MicrosoftExtensionsConfigurationJsonPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationJsonPackageVersion>
<MicrosoftExtensionsConfigurationPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationPackageVersion> <MicrosoftExtensionsConfigurationPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationPackageVersion>
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationUserSecretsPackageVersion> <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
<MicrosoftExtensionsConfigurationXmlPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationXmlPackageVersion> <MicrosoftExtensionsConfigurationXmlPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsConfigurationXmlPackageVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion> <MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
<MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsDependencyInjectionPackageVersion> <MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsDependencyInjectionPackageVersion>
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion> <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
<MicrosoftExtensionsFileProvidersCompositePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsFileProvidersCompositePackageVersion> <MicrosoftExtensionsFileProvidersCompositePackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsFileProvidersCompositePackageVersion>
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsFileProvidersPhysicalPackageVersion> <MicrosoftExtensionsFileProvidersPhysicalPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsFileSystemGlobbingPackageVersion> <MicrosoftExtensionsFileSystemGlobbingPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
<MicrosoftExtensionsHostingAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsHostingAbstractionsPackageVersion> <MicrosoftExtensionsHostingAbstractionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsHostingAbstractionsPackageVersion>
<MicrosoftExtensionsHostingPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsHostingPackageVersion> <MicrosoftExtensionsHostingPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsHostingPackageVersion>
<MicrosoftExtensionsHttpPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsHttpPackageVersion> <MicrosoftExtensionsHttpPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsHttpPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingAbstractionsPackageVersion> <MicrosoftExtensionsLoggingAbstractionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<MicrosoftExtensionsLoggingConfigurationPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingConfigurationPackageVersion> <MicrosoftExtensionsLoggingConfigurationPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsLoggingConfigurationPackageVersion>
<MicrosoftExtensionsLoggingConsolePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingConsolePackageVersion> <MicrosoftExtensionsLoggingConsolePackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsLoggingConsolePackageVersion>
<MicrosoftExtensionsLoggingDebugPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingDebugPackageVersion> <MicrosoftExtensionsLoggingDebugPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsLoggingDebugPackageVersion>
<MicrosoftExtensionsLoggingEventSourcePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingEventSourcePackageVersion> <MicrosoftExtensionsLoggingEventSourcePackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsLoggingEventSourcePackageVersion>
<MicrosoftExtensionsLoggingEventLogPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingEventLogPackageVersion> <MicrosoftExtensionsLoggingEventLogPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsLoggingEventLogPackageVersion>
<MicrosoftExtensionsLoggingPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingPackageVersion> <MicrosoftExtensionsLoggingPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsLoggingPackageVersion>
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingTraceSourcePackageVersion> <MicrosoftExtensionsLoggingTraceSourcePackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion> <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion> <MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
<MicrosoftExtensionsOptionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsOptionsPackageVersion> <MicrosoftExtensionsOptionsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsOptionsPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsPrimitivesPackageVersion> <MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsInternalTransportPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsInternalTransportPackageVersion> <MicrosoftExtensionsInternalTransportPackageVersion>5.0.0-preview.7.20309.9</MicrosoftExtensionsInternalTransportPackageVersion>
<SystemComponentModelAnnotationsPackageVersion>5.0.0-preview.6.20305.6</SystemComponentModelAnnotationsPackageVersion> <SystemComponentModelAnnotationsPackageVersion>5.0.0-preview.7.20309.9</SystemComponentModelAnnotationsPackageVersion>
<SystemDiagnosticsDiagnosticSourcePackageVersion>5.0.0-preview.6.20305.6</SystemDiagnosticsDiagnosticSourcePackageVersion> <SystemDiagnosticsDiagnosticSourcePackageVersion>5.0.0-preview.7.20309.9</SystemDiagnosticsDiagnosticSourcePackageVersion>
<SystemDiagnosticsEventLogPackageVersion>5.0.0-preview.6.20305.6</SystemDiagnosticsEventLogPackageVersion> <SystemDiagnosticsEventLogPackageVersion>5.0.0-preview.7.20309.9</SystemDiagnosticsEventLogPackageVersion>
<SystemDrawingCommonPackageVersion>5.0.0-preview.6.20305.6</SystemDrawingCommonPackageVersion> <SystemDrawingCommonPackageVersion>5.0.0-preview.7.20309.9</SystemDrawingCommonPackageVersion>
<SystemIOPipelinesPackageVersion>5.0.0-preview.6.20305.6</SystemIOPipelinesPackageVersion> <SystemIOPipelinesPackageVersion>5.0.0-preview.7.20309.9</SystemIOPipelinesPackageVersion>
<SystemNetHttpJsonPackageVersion>5.0.0-preview.6.20305.6</SystemNetHttpJsonPackageVersion> <SystemNetHttpJsonPackageVersion>5.0.0-preview.7.20309.9</SystemNetHttpJsonPackageVersion>
<SystemNetHttpWinHttpHandlerPackageVersion>5.0.0-preview.6.20305.6</SystemNetHttpWinHttpHandlerPackageVersion> <SystemNetHttpWinHttpHandlerPackageVersion>5.0.0-preview.7.20309.9</SystemNetHttpWinHttpHandlerPackageVersion>
<SystemNetWebSocketsWebSocketProtocolPackageVersion>5.0.0-preview.6.20305.6</SystemNetWebSocketsWebSocketProtocolPackageVersion> <SystemNetWebSocketsWebSocketProtocolPackageVersion>5.0.0-preview.7.20309.9</SystemNetWebSocketsWebSocketProtocolPackageVersion>
<SystemReflectionMetadataPackageVersion>5.0.0-preview.6.20305.6</SystemReflectionMetadataPackageVersion> <SystemReflectionMetadataPackageVersion>5.0.0-preview.7.20309.9</SystemReflectionMetadataPackageVersion>
<SystemRuntimeCompilerServicesUnsafePackageVersion>5.0.0-preview.6.20305.6</SystemRuntimeCompilerServicesUnsafePackageVersion> <SystemRuntimeCompilerServicesUnsafePackageVersion>5.0.0-preview.7.20309.9</SystemRuntimeCompilerServicesUnsafePackageVersion>
<SystemSecurityCryptographyCngPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityCryptographyCngPackageVersion> <SystemSecurityCryptographyCngPackageVersion>5.0.0-preview.7.20309.9</SystemSecurityCryptographyCngPackageVersion>
<SystemSecurityCryptographyPkcsPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityCryptographyPkcsPackageVersion> <SystemSecurityCryptographyPkcsPackageVersion>5.0.0-preview.7.20309.9</SystemSecurityCryptographyPkcsPackageVersion>
<SystemSecurityCryptographyXmlPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityCryptographyXmlPackageVersion> <SystemSecurityCryptographyXmlPackageVersion>5.0.0-preview.7.20309.9</SystemSecurityCryptographyXmlPackageVersion>
<SystemSecurityPermissionsPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityPermissionsPackageVersion> <SystemSecurityPermissionsPackageVersion>5.0.0-preview.7.20309.9</SystemSecurityPermissionsPackageVersion>
<SystemSecurityPrincipalWindowsPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityPrincipalWindowsPackageVersion> <SystemSecurityPrincipalWindowsPackageVersion>5.0.0-preview.7.20309.9</SystemSecurityPrincipalWindowsPackageVersion>
<SystemServiceProcessServiceControllerPackageVersion>5.0.0-preview.6.20305.6</SystemServiceProcessServiceControllerPackageVersion> <SystemServiceProcessServiceControllerPackageVersion>5.0.0-preview.7.20309.9</SystemServiceProcessServiceControllerPackageVersion>
<SystemTextEncodingsWebPackageVersion>5.0.0-preview.6.20305.6</SystemTextEncodingsWebPackageVersion> <SystemTextEncodingsWebPackageVersion>5.0.0-preview.7.20309.9</SystemTextEncodingsWebPackageVersion>
<SystemTextJsonPackageVersion>5.0.0-preview.6.20305.6</SystemTextJsonPackageVersion> <SystemTextJsonPackageVersion>5.0.0-preview.7.20309.9</SystemTextJsonPackageVersion>
<SystemThreadingChannelsPackageVersion>5.0.0-preview.6.20305.6</SystemThreadingChannelsPackageVersion> <SystemThreadingChannelsPackageVersion>5.0.0-preview.7.20309.9</SystemThreadingChannelsPackageVersion>
<SystemWindowsExtensionsPackageVersion>5.0.0-preview.6.20305.6</SystemWindowsExtensionsPackageVersion> <SystemWindowsExtensionsPackageVersion>5.0.0-preview.7.20309.9</SystemWindowsExtensionsPackageVersion>
<!-- 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>5.0.0-preview.6.20305.6</MicrosoftNETCorePlatformsPackageVersion> <MicrosoftNETCorePlatformsPackageVersion>5.0.0-preview.7.20309.9</MicrosoftNETCorePlatformsPackageVersion>
<!-- Packages from dotnet/blazor --> <!-- Packages from dotnet/blazor -->
<MicrosoftAspNetCoreComponentsWebAssemblyRuntimePackageVersion>3.2.0</MicrosoftAspNetCoreComponentsWebAssemblyRuntimePackageVersion> <MicrosoftAspNetCoreComponentsWebAssemblyRuntimePackageVersion>3.2.0</MicrosoftAspNetCoreComponentsWebAssemblyRuntimePackageVersion>
<!-- Packages from dotnet/efcore --> <!-- Packages from dotnet/efcore -->
<dotnetefPackageVersion>5.0.0-preview.6.20309.6</dotnetefPackageVersion> <dotnetefPackageVersion>5.0.0-preview.7.20309.4</dotnetefPackageVersion>
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreInMemoryPackageVersion> <MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreRelationalPackageVersion> <MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreSqlitePackageVersion> <MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreSqlServerPackageVersion> <MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreToolsPackageVersion> <MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreToolsPackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCorePackageVersion> <MicrosoftEntityFrameworkCorePackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCorePackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- <!--

0
eng/common/SetupNugetSources.sh Normal file → Executable file
View File

View File

@ -65,8 +65,13 @@ try {
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "16.5.0-alpha" -MemberType NoteProperty $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "16.5.0-alpha" -MemberType NoteProperty
} }
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
}
if ($xcopyMSBuildToolsFolder -eq $null) {
throw 'Unable to get xcopy downloadable version of msbuild'
}
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
$global:_MSBuildExe = "$($xcopyMSBuildToolsFolder)\MSBuild\Current\Bin\MSBuild.exe" $global:_MSBuildExe = "$($xcopyMSBuildToolsFolder)\MSBuild\Current\Bin\MSBuild.exe"
} }

View File

@ -293,8 +293,11 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
return $global:_MSBuildExe return $global:_MSBuildExe
} }
$vsMinVersionReqdStr = '16.5'
$vsMinVersionReqd = [Version]::new($vsMinVersionReqdStr)
if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs } if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs }
$vsMinVersionStr = if ($vsRequirements.version) { $vsRequirements.version } else { '15.9' } $vsMinVersionStr = if ($vsRequirements.version) { $vsRequirements.version } else { $vsMinVersionReqdStr }
$vsMinVersion = [Version]::new($vsMinVersionStr) $vsMinVersion = [Version]::new($vsMinVersionStr)
# Try msbuild command available in the environment. # Try msbuild command available in the environment.
@ -327,8 +330,18 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
$xcopyMSBuildVersion = $GlobalJson.tools.'xcopy-msbuild' $xcopyMSBuildVersion = $GlobalJson.tools.'xcopy-msbuild'
$vsMajorVersion = $xcopyMSBuildVersion.Split('.')[0] $vsMajorVersion = $xcopyMSBuildVersion.Split('.')[0]
} else { } else {
$vsMajorVersion = $vsMinVersion.Major #if vs version provided in global.json is incompatible then use the default version for xcopy msbuild download
$xcopyMSBuildVersion = "$vsMajorVersion.$($vsMinVersion.Minor).0-alpha" if($vsMinVersion -lt $vsMinVersionReqd){
Write-Host "Using xcopy-msbuild version of $vsMinVersionReqdStr.0-alpha since VS version $vsMinVersionStr provided in global.json is not compatible"
$vsMajorVersion = $vsMinVersionReqd.Major
$vsMinorVersion = $vsMinVersionReqd.Minor
}
else{
$vsMajorVersion = $vsMinVersion.Major
$vsMinorVersion = $vsMinVersion.Minor
}
$xcopyMSBuildVersion = "$vsMajorVersion.$vsMinorVersion.0-alpha"
} }
$vsInstallDir = $null $vsInstallDir = $null

View File

@ -272,7 +272,7 @@ namespace RunTests
// Filter syntax: https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md // Filter syntax: https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md
var result = await ProcessUtil.RunAsync($"{Options.DotnetRoot}/dotnet", var result = await ProcessUtil.RunAsync($"{Options.DotnetRoot}/dotnet",
commonTestArgs + " --TestCaseFilter:\"Quarantined!=true\"", commonTestArgs + " --TestCaseFilter:\"Quarantined!=true|Quarantined=false\"",
environmentVariables: EnvironmentVariables, environmentVariables: EnvironmentVariables,
outputDataReceived: Console.WriteLine, outputDataReceived: Console.WriteLine,
errorDataReceived: Console.Error.WriteLine, errorDataReceived: Console.Error.WriteLine,

View File

@ -92,4 +92,8 @@ echo "Running tests: $DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj
$DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --sdk $2 --runtime $3 --queue $4 --arch $5 --quarantined $6 --ef $7 --aspnetruntime $8 --aspnetref $9 --helixTimeout ${10} $DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --sdk $2 --runtime $3 --queue $4 --arch $5 --quarantined $6 --ef $7 --aspnetruntime $8 --aspnetref $9 --helixTimeout ${10}
exit_code=$? exit_code=$?
echo "Finished tests...exit_code=$exit_code" echo "Finished tests...exit_code=$exit_code"
# dotnet-install.sh leaves the temporary SDK archive on the helix machine which slowly fills the disk, we'll be nice and clean it until the script fixes the issue
rm -r -f ${TMPDIR:-/tmp}/dotnet.*
exit $exit_code exit $exit_code

View File

@ -20,9 +20,13 @@
<HelixBuild>private-$(USERNAME)</HelixBuild> <HelixBuild>private-$(USERNAME)</HelixBuild>
<HelixBuild Condition=" '$(USERNAME)' == '' ">private-$(USER)</HelixBuild> <HelixBuild Condition=" '$(USERNAME)' == '' ">private-$(USER)</HelixBuild>
<IsExternal>true</IsExternal> <IsExternal>true</IsExternal>
<SkipInvalidConfigurations>true</SkipInvalidConfigurations>
<MaxRetryCount Condition="'$(MaxRetryCount)' == ''">2</MaxRetryCount> <MaxRetryCount Condition="'$(MaxRetryCount)' == ''">2</MaxRetryCount>
<HelixAccessToken Condition="'$(_UseHelixOpenQueues)' != 'true'">$(HelixApiAccessToken)</HelixAccessToken> <HelixAccessToken Condition="'$(_UseHelixOpenQueues)' != 'true'">$(HelixApiAccessToken)</HelixAccessToken>
<!-- Copied from Microsoft.NET.DefaultOutputPaths.targets in the .NET SDK. The Helix SDK contains nothing similar. -->
<BaseOutputPath Condition="'$(BaseOutputPath)' == ''">bin\</BaseOutputPath>
<OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' == 'AnyCPU'">$(BaseOutputPath)$(Configuration)\</OutputPath>
<OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' != 'AnyCPU'">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(ContinuousIntegrationBuild)' == 'true' "> <PropertyGroup Condition=" '$(ContinuousIntegrationBuild)' == 'true' ">

View File

@ -10,9 +10,6 @@ try {
& "$repoRoot\build.ps1" -ci:$ci -nobl -noBuildRepoTasks -noRestore -buildNative -configuration Debug & "$repoRoot\build.ps1" -ci:$ci -nobl -noBuildRepoTasks -noRestore -buildNative -configuration Debug
Remove-Item variable:global:_BuildTool -ErrorAction Ignore Remove-Item variable:global:_BuildTool -ErrorAction Ignore
Remove-Item variable:global:_DotNetInstallDir -ErrorAction Ignore
Remove-Item variable:global:_ToolsetBuildProj -ErrorAction Ignore
Remove-Item variable:global:_MSBuildExe -ErrorAction Ignore
$excludeCIBinarylog = $true $excludeCIBinarylog = $true
$msbuildEngine = 'dotnet' $msbuildEngine = 'dotnet'

View File

@ -42,6 +42,7 @@
<Reference Include="Microsoft.AspNetCore.Testing" /> <Reference Include="Microsoft.AspNetCore.Testing" />
<Reference Include="Moq" /> <Reference Include="Moq" />
<Reference Include="NETStandard.Library" /> <Reference Include="NETStandard.Library" />
<Compile Include="$(SharedSourceRoot)test\SuccessfulTests.cs" LinkBase="SharedTests" />
</ItemGroup> </ItemGroup>
<Import Project="$(RepoRoot)src\Testing\src\build\Microsoft.AspNetCore.Testing.props" Condition=" '$(IsTestProject)' == 'true' " /> <Import Project="$(RepoRoot)src\Testing\src\build\Microsoft.AspNetCore.Testing.props" Condition=" '$(IsTestProject)' == 'true' " />
@ -55,4 +56,10 @@
<Import Project="CSharp.ReferenceAssembly.props" Condition="'$(IsReferenceAssemblyProject)' == 'true'" /> <Import Project="CSharp.ReferenceAssembly.props" Condition="'$(IsReferenceAssemblyProject)' == 'true'" />
<!-- Properties to control how we handle warnings when using the tasks provided by the Yarn MSBuild SDK -->
<PropertyGroup>
<IgnoreYarnWarnings>false</IgnoreYarnWarnings>
<IgnoreYarnWarnings Condition="'$(ContinuousIntegrationBuild)' == 'true'">true</IgnoreYarnWarnings>
</PropertyGroup>
</Project> </Project>

View File

@ -28,6 +28,23 @@
</ItemGroup> </ItemGroup>
</Target> </Target>
<Choose>
<!--
C# 8.0's nullable annotations only work for .NET Core 3.0+ by default. However it can be made to work for other target frameworks
by compiling the annotations (as internal types).
The code block that follows sets it up so projects in this repo that target ns2.0 or netfx can compile when Nullable is configured.
Based on https://github.com/dotnet/runtime/blob/93b6c449d4f31ddd7d573d1d3769e681d5ebceb9/src/libraries/Directory.Build.targets#L215-L222
-->
<When Condition="'$(Nullable)' != '' AND ('$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFrameworkIdentifier)' == '.NETFramework')">
<PropertyGroup>
<DefineConstants>$(DefineConstants),INTERNAL_NULLABLE_ATTRIBUTES</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(SharedSourceRoot)Nullable\NullableAttributes.cs" />
</ItemGroup>
</When>
</Choose>
<Import Project="Packaging.targets" /> <Import Project="Packaging.targets" />
<Import Project="ResolveReferences.targets" /> <Import Project="ResolveReferences.targets" />

View File

@ -30,6 +30,7 @@
<HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" /> <HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" /> <HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" /> <HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Ubuntu.2004.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Centos.7.Amd64.Open" Platform="Linux" /> <HelixAvailableTargetQueue Include="Centos.7.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Debian.8.Amd64.Open" Platform="Linux" /> <HelixAvailableTargetQueue Include="Debian.8.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" /> <HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" />

View File

@ -42,7 +42,7 @@
<Target Name="Restore"> <Target Name="Restore">
<Telemetry EventName="NETCORE_ENGINEERING_TELEMETRY" EventData="Category=Restore" /> <Telemetry EventName="NETCORE_ENGINEERING_TELEMETRY" EventData="Category=Restore" />
<Message Importance="High" Text="Running yarn install on $(MSBuildProjectFullPath)" /> <Message Importance="High" Text="Running yarn install on $(MSBuildProjectFullPath)" />
<Yarn Command="install --mutex network $(InstallArgs)" StandardOutputImportance="High" StandardErrorImportance="High" /> <Yarn Command="install --mutex network $(InstallArgs)" StandardOutputImportance="High" StandardErrorImportance="High" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
</Target> </Target>
<Target Name="PrepareForBuild"> <Target Name="PrepareForBuild">

View File

@ -26,11 +26,12 @@
<_TargetFrameworkOverride /> <_TargetFrameworkOverride />
<_TargetFrameworkOverride <_TargetFrameworkOverride
Condition=" @(_ResultTargetFramework->Count()) > 1 ">%0A &lt;TargetFrameworks Condition="'%24(DotNetBuildFromSource)' == 'true'"&gt;%24(DefaultNetCoreTargetFramework)&lt;/TargetFrameworks&gt;</_TargetFrameworkOverride> Condition=" @(_ResultTargetFramework->Count()) > 1 ">%0A &lt;TargetFrameworks Condition="'%24(DotNetBuildFromSource)' == 'true'"&gt;%24(DefaultNetCoreTargetFramework)&lt;/TargetFrameworks&gt;</_TargetFrameworkOverride>
<_NullableProperty Condition="'$(Nullable)' != ''">%0A &lt;Nullable&gt;annotations&lt;/Nullable&gt;</_NullableProperty>
<ProjectListContentLines><![CDATA[ <ProjectListContentLines><![CDATA[
<!-- This file is automatically generated. --> <!-- This file is automatically generated. -->
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>@(_ResultTargetFramework)</TargetFrameworks>$(_TargetFrameworkOverride) <TargetFrameworks>@(_ResultTargetFramework)</TargetFrameworks>$(_TargetFrameworkOverride)$(_NullableProperty)
</PropertyGroup> </PropertyGroup>
@(ProjectListContentItem->'%(Identity)', '%0A') @(ProjectListContentItem->'%(Identity)', '%0A')
</Project> </Project>

View File

@ -6,17 +6,14 @@
"dotnet": "5.0.100-preview.6.20266.3", "dotnet": "5.0.100-preview.6.20266.3",
"runtimes": { "runtimes": {
"dotnet/x64": [ "dotnet/x64": [
"2.1.11", "2.1.18",
"$(MicrosoftNETCoreAppInternalPackageVersion)" "$(MicrosoftNETCoreAppInternalPackageVersion)"
], ],
"dotnet/x86": [ "dotnet/x86": [
"$(MicrosoftNETCoreAppInternalPackageVersion)" "$(MicrosoftNETCoreAppInternalPackageVersion)"
], ],
"aspnetcore/x64": [ "aspnetcore/x64": [
"3.1.0" "3.1.4"
],
"aspnetcore/x86": [
"3.1.0"
] ]
}, },
"Git": "2.22.0", "Git": "2.22.0",
@ -33,7 +30,7 @@
}, },
"msbuild-sdks": { "msbuild-sdks": {
"Yarn.MSBuild": "1.15.2", "Yarn.MSBuild": "1.15.2",
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20278.4", "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20280.1",
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20278.4" "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20280.1"
} }
} }

View File

@ -7,7 +7,6 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
<Content Include="TestFiles\**\*.*" CopyToOutputDirectory="PreserveNewest" /> <Content Include="TestFiles\**\*.*" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup> </ItemGroup>

View File

@ -34,6 +34,7 @@ namespace A.Internal.Namespace
[Theory] [Theory]
[MemberData(nameof(PublicMemberDefinitions))] [MemberData(nameof(PublicMemberDefinitions))]
[QuarantinedTest]
public async Task PublicExposureOfPubternalTypeProducesPUB0001(string member) public async Task PublicExposureOfPubternalTypeProducesPUB0001(string member)
{ {
var code = GetSourceFromNamespaceDeclaration($@" var code = GetSourceFromNamespaceDeclaration($@"

View File

@ -16,7 +16,6 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
<Content Include="TestFiles\**\*.*" CopyToPublishDirectory="PreserveNewest" /> <Content Include="TestFiles\**\*.*" CopyToPublishDirectory="PreserveNewest" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -12,7 +12,6 @@
<ItemGroup> <ItemGroup>
<Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" /> <Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -0,0 +1,27 @@
using System;
using Xunit;
namespace Microsoft.AspNetCore.Blazor.Rendering
{
public class RenderRegistryTest
{
[Fact]
public void RendererRegistry_Find_ThrowsErrorOnNonWASM()
{
// Act
Exception ex = Assert.Throws<ArgumentException>(() => RendererRegistry.Find(123));
// Assert
Assert.Equal("There is no renderer with ID 123.", ex.Message);
}
[Fact]
public void RendererRegistry_Remove_DoesNothingOnNonWASM()
{
// Act
var result = RendererRegistry.TryRemove(123);
// Assert
Assert.False(result);
}
}
}

View File

@ -537,8 +537,8 @@ namespace Microsoft.AspNetCore.Components
return ConvertToNullableBoolCore(obj, culture, out value); return ConvertToNullableBoolCore(obj, culture, out value);
} }
internal static BindParser<bool> ConvertToBool = ConvertToBoolCore; internal readonly static BindParser<bool> ConvertToBool = ConvertToBoolCore;
internal static BindParser<bool?> ConvertToNullableBool = ConvertToNullableBoolCore; internal readonly static BindParser<bool?> ConvertToNullableBool = ConvertToNullableBoolCore;
private static bool ConvertToBoolCore(object obj, CultureInfo culture, out bool value) private static bool ConvertToBoolCore(object obj, CultureInfo culture, out bool value)
{ {

View File

@ -12,7 +12,6 @@
<ItemGroup> <ItemGroup>
<Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" /> <Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -11,7 +11,6 @@
<ItemGroup> <ItemGroup>
<Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" /> <Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -11,5 +11,7 @@ namespace Ignitor
{ {
_componentId = componentId; _componentId = componentId;
} }
public int ComponentId => _componentId;
} }
} }

View File

@ -3,11 +3,16 @@
#nullable enable #nullable enable
using System.Diagnostics;
namespace Ignitor namespace Ignitor
{ {
[DebuggerDisplay("{SerializedValue}")]
public abstract class Node public abstract class Node
{ {
public virtual ContainerNode? Parent { get; set; } public virtual ContainerNode? Parent { get; set; }
public string SerializedValue => NodeSerializer.Serialize(this);
} }
} }

View File

@ -2,6 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using System.Collections.Generic;
using System.IO; using System.IO;
#nullable enable #nullable enable
@ -20,11 +21,22 @@ namespace Ignitor
} }
} }
public static string Serialize(Node node)
{
using (var writer = new StringWriter())
{
var serializer = new Serializer(writer);
serializer.Serialize(node);
return writer.ToString();
}
}
private class Serializer private class Serializer
{ {
private readonly TextWriter _writer; private readonly TextWriter _writer;
private int _depth; private int _depth;
private bool _atStartOfLine; private bool _atStartOfLine;
private HashSet<Node> _visited = new HashSet<Node>();
public Serializer(TextWriter writer) public Serializer(TextWriter writer)
{ {
@ -35,14 +47,25 @@ namespace Ignitor
{ {
foreach (var kvp in hive.Components) foreach (var kvp in hive.Components)
{ {
SerializeComponent(kvp.Key, kvp.Value); Serialize(kvp.Value);
} }
} }
private void Serialize(Node node) public void Serialize(Node node)
{ {
if (!_visited.Add(node))
{
// This is a child component of a previously seen component. Don't repeat it
return;
}
switch (node) switch (node)
{ {
case ComponentNode componentNode:
{
SerializeComponent(componentNode);
break;
}
case ElementNode elementNode: case ElementNode elementNode:
{ {
SerializeElement(elementNode); SerializeElement(elementNode);
@ -155,10 +178,10 @@ namespace Ignitor
} }
} }
private void SerializeComponent(int id, ComponentNode component) private void SerializeComponent(ComponentNode component)
{ {
Write("[Component ( "); Write("[Component ( ");
Write(id.ToString()); Write(component.ComponentId.ToString());
WriteLine(" )]"); WriteLine(" )]");
_depth++; _depth++;
SerializeChildren(component); SerializeChildren(component);

View File

@ -12,6 +12,12 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference
Include="..\..\JSInterop\Microsoft.JSInterop.JS\src\Microsoft.JSInterop.JS.npmproj"
ReferenceOutputAssemblies="false"
SkipGetTargetFrameworkProperties="true"
UndefineProperties="TargetFramework"
Private="false" />
<ProjectReference <ProjectReference
Include="..\..\SignalR\clients\ts\signalr\signalr.npmproj" Include="..\..\SignalR\clients\ts\signalr\signalr.npmproj"
ReferenceOutputAssemblies="false" ReferenceOutputAssemblies="false"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -16,7 +16,7 @@
"devDependencies": { "devDependencies": {
"@microsoft/signalr": "link:../../SignalR/clients/ts/signalr", "@microsoft/signalr": "link:../../SignalR/clients/ts/signalr",
"@microsoft/signalr-protocol-msgpack": "link:../../SignalR/clients/ts/signalr-protocol-msgpack", "@microsoft/signalr-protocol-msgpack": "link:../../SignalR/clients/ts/signalr-protocol-msgpack",
"@microsoft/dotnet-js-interop": "https://dotnet.myget.org/F/aspnetcore-dev/npm/@microsoft/dotnet-js-interop/-/@microsoft/dotnet-js-interop-5.0.0-alpha1.19572.2.tgz", "@microsoft/dotnet-js-interop": "link:../../JSInterop/Microsoft.JSInterop.JS/src",
"@types/emscripten": "^1.39.3", "@types/emscripten": "^1.39.3",
"@types/jest": "^24.9.1", "@types/jest": "^24.9.1",
"@types/jsdom": "11.0.6", "@types/jsdom": "11.0.6",

View File

@ -1,4 +1,4 @@
import '@microsoft/dotnet-js-interop'; import { DotNet } from '@microsoft/dotnet-js-interop';
import './GlobalExports'; import './GlobalExports';
import * as signalR from '@microsoft/signalr'; import * as signalR from '@microsoft/signalr';
import { MessagePackHubProtocol } from '@microsoft/signalr-protocol-msgpack'; import { MessagePackHubProtocol } from '@microsoft/signalr-protocol-msgpack';

View File

@ -1,4 +1,4 @@
import '@microsoft/dotnet-js-interop'; import { DotNet } from '@microsoft/dotnet-js-interop';
import './GlobalExports'; import './GlobalExports';
import * as Environment from './Environment'; import * as Environment from './Environment';
import { monoPlatform } from './Platform/Mono/MonoPlatform'; import { monoPlatform } from './Platform/Mono/MonoPlatform';

View File

@ -1,3 +1,4 @@
import { DotNet } from '@microsoft/dotnet-js-interop';
import { attachDebuggerHotkey, hasDebuggingEnabled } from './MonoDebugger'; import { attachDebuggerHotkey, hasDebuggingEnabled } from './MonoDebugger';
import { showErrorNotification } from '../../BootErrors'; import { showErrorNotification } from '../../BootErrors';
import { WebAssemblyResourceLoader, LoadingResource } from '../WebAssemblyResourceLoader'; import { WebAssemblyResourceLoader, LoadingResource } from '../WebAssemblyResourceLoader';

View File

@ -1,3 +1,5 @@
import { DotNet } from '@microsoft/dotnet-js-interop';
export function applyCaptureIdToElement(element: Element, referenceCaptureId: string) { export function applyCaptureIdToElement(element: Element, referenceCaptureId: string) {
element.setAttribute(getCaptureIdAttributeName(referenceCaptureId), ''); element.setAttribute(getCaptureIdAttributeName(referenceCaptureId), '');
} }

View File

@ -345,9 +345,9 @@
"@types/istanbul-reports" "^1.1.1" "@types/istanbul-reports" "^1.1.1"
"@types/yargs" "^13.0.0" "@types/yargs" "^13.0.0"
"@microsoft/dotnet-js-interop@https://dotnet.myget.org/F/aspnetcore-dev/npm/@microsoft/dotnet-js-interop/-/@microsoft/dotnet-js-interop-5.0.0-alpha1.19572.2.tgz": "@microsoft/dotnet-js-interop@link:../../JSInterop/Microsoft.JSInterop.JS/src":
version "5.0.0-alpha1.19572.2" version "0.0.0"
resolved "https://dotnet.myget.org/F/aspnetcore-dev/npm/@microsoft/dotnet-js-interop/-/@microsoft/dotnet-js-interop-5.0.0-alpha1.19572.2.tgz#8abd8d315f2304ffa441d9fb42bd5a571969e9a0" uid ""
"@microsoft/signalr-protocol-msgpack@link:../../SignalR/clients/ts/signalr-protocol-msgpack": "@microsoft/signalr-protocol-msgpack@link:../../SignalR/clients/ts/signalr-protocol-msgpack":
version "0.0.0" version "0.0.0"

View File

@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Components.Forms
/// </summary> /// </summary>
public class InputNumber<TValue> : InputBase<TValue> public class InputNumber<TValue> : InputBase<TValue>
{ {
private static string _stepAttributeValue; // Null by default, so only allows whole numbers as per HTML spec private readonly static string _stepAttributeValue; // Null by default, so only allows whole numbers as per HTML spec
static InputNumber() static InputNumber()
{ {

View File

@ -13,7 +13,6 @@
<ItemGroup> <ItemGroup>
<Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" /> <Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.Razor"> <Project Sdk="Microsoft.NET.Sdk.Razor">
<Sdk Name="Yarn.MSBuild" /> <Sdk Name="Yarn.MSBuild" />
@ -58,9 +58,9 @@
</Target> </Target>
<Target Name="CompileInterop" Condition="'$(BuildNodeJS)' != 'false' AND '$(DesignTimeBuild)' != 'true'" Inputs="$(InteropCompilationCacheFile)" Outputs="@(YarnOutputs)"> <Target Name="CompileInterop" Condition="'$(BuildNodeJS)' != 'false' AND '$(DesignTimeBuild)' != 'true'" Inputs="$(InteropCompilationCacheFile)" Outputs="@(YarnOutputs)">
<Yarn Command="install --mutex network" WorkingDirectory="$(YarnWorkingDir)" /> <Yarn Command="install --mutex network" WorkingDirectory="$(YarnWorkingDir)" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
<Yarn Command="run build:release" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Release'" /> <Yarn Command="run build:release" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Release'" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
<Yarn Command="run build:debug" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Debug'" /> <Yarn Command="run build:debug" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Debug'" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
<ItemGroup> <ItemGroup>
<_InteropBuildOutput Include="$(YarnWorkingDir)dist\$(Configuration)\**" Exclude="$(YarnWorkingDir)dist\.gitignore" /> <_InteropBuildOutput Include="$(YarnWorkingDir)dist\$(Configuration)\**" Exclude="$(YarnWorkingDir)dist\.gitignore" />

View File

@ -17,7 +17,7 @@
<_BlazorToolsDir>$(MSBuildThisFileDirectory)bin\$(BlazorBuildConfiguration)\tools\</_BlazorToolsDir> <_BlazorToolsDir>$(MSBuildThisFileDirectory)bin\$(BlazorBuildConfiguration)\tools\</_BlazorToolsDir>
</PropertyGroup> </PropertyGroup>
<Target Name="Check_BlazorJSFiles" BeforeTargets="Build"> <Target Name="Check_BlazorJSFiles" BeforeTargets="Build" Condition="'$(ExcludeFromBuild)' != 'true'">
<Error Text="blazor.webassembly.js file could not be found at $(_BlazorJsPath)" Condition="!Exists($(_BlazorJsPath))" /> <Error Text="blazor.webassembly.js file could not be found at $(_BlazorJsPath)" Condition="!Exists($(_BlazorJsPath))" />
</Target> </Target>

View File

@ -4,6 +4,7 @@
using System.IO; using System.IO;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Testing;
using Xunit; using Xunit;
using static Microsoft.AspNetCore.Components.WebAssembly.Build.WebAssemblyRuntimePackage; using static Microsoft.AspNetCore.Components.WebAssembly.Build.WebAssemblyRuntimePackage;
@ -203,6 +204,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Build
} }
[Fact] [Fact]
[QuarantinedTest]
public async Task Build_SatelliteAssembliesAreCopiedToBuildOutput() public async Task Build_SatelliteAssembliesAreCopiedToBuildOutput()
{ {
// Arrange // Arrange

View File

@ -8,6 +8,7 @@ using System.Linq;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Blazor.Build; using Microsoft.AspNetCore.Blazor.Build;
using Microsoft.AspNetCore.Testing;
using Xunit; using Xunit;
using ResourceHashesByNameDictionary = System.Collections.Generic.Dictionary<string, string>; using ResourceHashesByNameDictionary = System.Collections.Generic.Dictionary<string, string>;
using static Microsoft.AspNetCore.Components.WebAssembly.Build.WebAssemblyRuntimePackage; using static Microsoft.AspNetCore.Components.WebAssembly.Build.WebAssemblyRuntimePackage;
@ -284,6 +285,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Build
} }
[Fact] [Fact]
[QuarantinedTest]
public async Task Publish_HostedApp_WithLinkOnBuildTrue_Works() public async Task Publish_HostedApp_WithLinkOnBuildTrue_Works()
{ {
// Arrange // Arrange

View File

@ -34,7 +34,6 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\testassets\StandaloneApp\StandaloneApp.csproj" /> <ProjectReference Include="..\..\testassets\StandaloneApp\StandaloneApp.csproj" />
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
<Compile Include="$(SharedSourceRoot)CommandLineUtils\**\*.cs" /> <Compile Include="$(SharedSourceRoot)CommandLineUtils\**\*.cs" />
</ItemGroup> </ItemGroup>

View File

@ -7,7 +7,7 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using Microsoft.AspNetCore.Testing.xunit; using Microsoft.AspNetCore.Testing;
using Xunit; using Xunit;
namespace Microsoft.AspNetCore.Components.WebAssembly.Build namespace Microsoft.AspNetCore.Components.WebAssembly.Build

View File

@ -6,7 +6,7 @@
<PackageTags>wasm;javascript;interop</PackageTags> <PackageTags>wasm;javascript;interop</PackageTags>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<IsPackable>true</IsPackable> <IsPackable>true</IsPackable>
<IsShipping>true</IsShipping> <IsShippingPackage>true</IsShippingPackage>
<HasReferenceAssembly>false</HasReferenceAssembly> <HasReferenceAssembly>false</HasReferenceAssembly>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup> </PropertyGroup>

View File

@ -59,9 +59,9 @@
</Target> </Target>
<Target Name="CompileInterop" Condition="'$(BuildNodeJS)' != 'false' AND '$(DesignTimeBuild)' != 'true'" Inputs="$(InteropCompilationCacheFile)" Outputs="@(YarnOutputs)"> <Target Name="CompileInterop" Condition="'$(BuildNodeJS)' != 'false' AND '$(DesignTimeBuild)' != 'true'" Inputs="$(InteropCompilationCacheFile)" Outputs="@(YarnOutputs)">
<Yarn Command="install --mutex network" WorkingDirectory="$(YarnWorkingDir)" /> <Yarn Command="install --mutex network" WorkingDirectory="$(YarnWorkingDir)" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
<Yarn Command="run build:release" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Release'" /> <Yarn Command="run build:release" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Release'" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
<Yarn Command="run build:debug" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Debug'" /> <Yarn Command="run build:debug" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Debug'" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
<ItemGroup> <ItemGroup>
<_InteropBuildOutput Include="$(YarnWorkingDir)dist\$(Configuration)\**" Exclude="$(YarnWorkingDir)dist\.gitignore" /> <_InteropBuildOutput Include="$(YarnWorkingDir)dist\$(Configuration)\**" Exclude="$(YarnWorkingDir)dist\.gitignore" />

View File

@ -77,7 +77,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Authentication
} }
/// <summary> /// <summary>
/// Configures this handler to authorize outbound HTTP requests using an access token. The access token is only attached if only attached if at least one of /// Configures this handler to authorize outbound HTTP requests using an access token. The access token is only attached if at least one of
/// <paramref name="authorizedUrls" /> is a base of <see cref="HttpRequestMessage.RequestUri" />. /// <paramref name="authorizedUrls" /> is a base of <see cref="HttpRequestMessage.RequestUri" />.
/// </summary> /// </summary>
/// <param name="authorizedUrls">The base addresses of endpoint URLs to which the token will be attached.</param> /// <param name="authorizedUrls">The base addresses of endpoint URLs to which the token will be attached.</param>

View File

@ -3,6 +3,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace Microsoft.AspNetCore.Components.WebAssembly.Rendering namespace Microsoft.AspNetCore.Components.WebAssembly.Rendering
{ {
@ -14,27 +15,36 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Rendering
// them even though we might still receive incoming events from JS. // them even though we might still receive incoming events from JS.
private static int _nextId; private static int _nextId;
private static Dictionary<int, WebAssemblyRenderer> _renderers = new Dictionary<int, WebAssemblyRenderer>(); private static Dictionary<int, WebAssemblyRenderer> _renderers;
static RendererRegistry()
{
bool _isWebAssembly = RuntimeInformation.IsOSPlatform(OSPlatform.Create("BROWSER"));
if (_isWebAssembly)
{
_renderers = new Dictionary<int, WebAssemblyRenderer>();
}
}
internal static WebAssemblyRenderer Find(int rendererId) internal static WebAssemblyRenderer Find(int rendererId)
{ {
return _renderers.ContainsKey(rendererId) return _renderers != null && _renderers.ContainsKey(rendererId)
? _renderers[rendererId] ? _renderers?[rendererId]
: throw new ArgumentException($"There is no renderer with ID {rendererId}."); : throw new ArgumentException($"There is no renderer with ID {rendererId}.");
} }
public static int Add(WebAssemblyRenderer renderer) public static int Add(WebAssemblyRenderer renderer)
{ {
var id = _nextId++; var id = _nextId++;
_renderers.Add(id, renderer); _renderers?.Add(id, renderer);
return id; return id;
} }
public static bool TryRemove(int rendererId) public static bool TryRemove(int rendererId)
{ {
if (_renderers.ContainsKey(rendererId)) if (_renderers != null && _renderers.ContainsKey(rendererId))
{ {
_renderers.Remove(rendererId); _renderers?.Remove(rendererId);
return true; return true;
} }
else else

View File

@ -11,11 +11,11 @@
"blazorwasmbenchmark": { "blazorwasmbenchmark": {
"source": { "source": {
"repository": "https://github.com/dotnet/AspNetCore.git", "repository": "https://github.com/dotnet/AspNetCore.git",
"branchOrCommit": "blazor-wasm", "branchOrCommit": "master",
"dockerfile": "src/Components/benchmarkapps/Wasm.Performance/dockerfile" "dockerfile": "src/Components/benchmarkapps/Wasm.Performance/dockerfile"
}, },
"buildArguments": [ "buildArguments": [
"gitBranch=blazor-wasm" "gitBranch=master"
], ],
"waitForExit": true, "waitForExit": true,
"readyStateText": "Application started." "readyStateText": "Application started."

View File

@ -12,7 +12,7 @@ RUN apt-get update \
nodejs \ nodejs \
git git
ARG gitBranch=blazor-wasm ARG gitBranch=master
WORKDIR /src WORKDIR /src
ADD https://api.github.com/repos/dotnet/aspnetcore/git/ref/heads/${gitBranch} /aspnetcore.commit ADD https://api.github.com/repos/dotnet/aspnetcore/git/ref/heads/${gitBranch} /aspnetcore.commit

View File

@ -1,3 +1,3 @@
@ECHO OFF @ECHO OFF
%~dp0..\..\startvs.cmd %~dp0Blazor.sln %~dp0..\..\startvs.cmd %~dp0Components.sln

View File

@ -9,6 +9,7 @@ using HostedInAspNet.Server;
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure; using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures; using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
using Microsoft.AspNetCore.E2ETesting; using Microsoft.AspNetCore.E2ETesting;
using Microsoft.AspNetCore.Testing;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using OpenQA.Selenium; using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI; using OpenQA.Selenium.Support.UI;
@ -38,6 +39,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
} }
[Fact] [Fact]
[QuarantinedTest]
public void CachesResourcesAfterFirstLoad() public void CachesResourcesAfterFirstLoad()
{ {
// On the first load, we have to fetch everything // On the first load, we have to fetch everything

View File

@ -42,6 +42,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
} }
[Fact] [Fact]
[QuarantinedTest]
public void CanRenderTextOnlyComponent() public void CanRenderTextOnlyComponent()
{ {
var appElement = Browser.MountTestComponent<TextOnlyComponent>(); var appElement = Browser.MountTestComponent<TextOnlyComponent>();

View File

@ -7,7 +7,6 @@
<ItemGroup> <ItemGroup>
<Compile Include="..\..\shared\test\*.cs" /> <Compile Include="..\..\shared\test\*.cs" />
<Content Include="TestFiles\**\*" CopyToOutputDirectory="PreserveNewest" /> <Content Include="TestFiles\**\*" CopyToOutputDirectory="PreserveNewest" />
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -5,7 +5,6 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
<Compile Include="$(SharedSourceRoot)EventSource.Testing\TestEventListener.cs" /> <Compile Include="$(SharedSourceRoot)EventSource.Testing\TestEventListener.cs" />
<Compile Include="$(SharedSourceRoot)EventSource.Testing\TestCounterListener.cs" /> <Compile Include="$(SharedSourceRoot)EventSource.Testing\TestCounterListener.cs" />
<Content Include="testroot\**\*" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" /> <Content Include="testroot\**\*" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" />

View File

@ -2,6 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
<Nullable>annotations</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'">
<Compile Include="Microsoft.AspNetCore.Html.Abstractions.netcoreapp.cs" /> <Compile Include="Microsoft.AspNetCore.Html.Abstractions.netcoreapp.cs" />

View File

@ -3,15 +3,16 @@
namespace Microsoft.AspNetCore.Html namespace Microsoft.AspNetCore.Html
{ {
[System.Diagnostics.DebuggerDisplayAttribute("{DebuggerToString()}")]
public partial class HtmlContentBuilder : Microsoft.AspNetCore.Html.IHtmlContent, Microsoft.AspNetCore.Html.IHtmlContentBuilder, Microsoft.AspNetCore.Html.IHtmlContentContainer public partial class HtmlContentBuilder : Microsoft.AspNetCore.Html.IHtmlContent, Microsoft.AspNetCore.Html.IHtmlContentBuilder, Microsoft.AspNetCore.Html.IHtmlContentContainer
{ {
public HtmlContentBuilder() { } public HtmlContentBuilder() { }
public HtmlContentBuilder(System.Collections.Generic.IList<object> entries) { } public HtmlContentBuilder(System.Collections.Generic.IList<object> entries) { }
public HtmlContentBuilder(int capacity) { } public HtmlContentBuilder(int capacity) { }
public int Count { get { throw null; } } public int Count { get { throw null; } }
public Microsoft.AspNetCore.Html.IHtmlContentBuilder Append(string unencoded) { throw null; } public Microsoft.AspNetCore.Html.IHtmlContentBuilder Append(string? unencoded) { throw null; }
public Microsoft.AspNetCore.Html.IHtmlContentBuilder AppendHtml(Microsoft.AspNetCore.Html.IHtmlContent htmlContent) { throw null; } public Microsoft.AspNetCore.Html.IHtmlContentBuilder AppendHtml(Microsoft.AspNetCore.Html.IHtmlContent? htmlContent) { throw null; }
public Microsoft.AspNetCore.Html.IHtmlContentBuilder AppendHtml(string encoded) { throw null; } public Microsoft.AspNetCore.Html.IHtmlContentBuilder AppendHtml(string? encoded) { throw null; }
public Microsoft.AspNetCore.Html.IHtmlContentBuilder Clear() { throw null; } public Microsoft.AspNetCore.Html.IHtmlContentBuilder Clear() { throw null; }
public void CopyTo(Microsoft.AspNetCore.Html.IHtmlContentBuilder destination) { } public void CopyTo(Microsoft.AspNetCore.Html.IHtmlContentBuilder destination) { }
public void MoveTo(Microsoft.AspNetCore.Html.IHtmlContentBuilder destination) { } public void MoveTo(Microsoft.AspNetCore.Html.IHtmlContentBuilder destination) { }
@ -32,7 +33,7 @@ namespace Microsoft.AspNetCore.Html
[System.Diagnostics.DebuggerDisplayAttribute("{DebuggerToString()}")] [System.Diagnostics.DebuggerDisplayAttribute("{DebuggerToString()}")]
public partial class HtmlFormattableString : Microsoft.AspNetCore.Html.IHtmlContent public partial class HtmlFormattableString : Microsoft.AspNetCore.Html.IHtmlContent
{ {
public HtmlFormattableString(System.IFormatProvider formatProvider, string format, params object[] args) { } public HtmlFormattableString(System.IFormatProvider? formatProvider, string format, params object[] args) { }
public HtmlFormattableString(string format, params object[] args) { } public HtmlFormattableString(string format, params object[] args) { }
public void WriteTo(System.IO.TextWriter writer, System.Text.Encodings.Web.HtmlEncoder encoder) { } public void WriteTo(System.IO.TextWriter writer, System.Text.Encodings.Web.HtmlEncoder encoder) { }
} }
@ -40,8 +41,8 @@ namespace Microsoft.AspNetCore.Html
{ {
public static readonly Microsoft.AspNetCore.Html.HtmlString Empty; public static readonly Microsoft.AspNetCore.Html.HtmlString Empty;
public static readonly Microsoft.AspNetCore.Html.HtmlString NewLine; public static readonly Microsoft.AspNetCore.Html.HtmlString NewLine;
public HtmlString(string value) { } public HtmlString(string? value) { }
public string Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public string? Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public override string ToString() { throw null; } public override string ToString() { throw null; }
public void WriteTo(System.IO.TextWriter writer, System.Text.Encodings.Web.HtmlEncoder encoder) { } public void WriteTo(System.IO.TextWriter writer, System.Text.Encodings.Web.HtmlEncoder encoder) { }
} }

View File

@ -3,6 +3,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Text.Encodings.Web; using System.Text.Encodings.Web;
@ -11,6 +12,7 @@ namespace Microsoft.AspNetCore.Html
/// <summary> /// <summary>
/// An <see cref="IHtmlContentBuilder"/> implementation using an in memory list. /// An <see cref="IHtmlContentBuilder"/> implementation using an in memory list.
/// </summary> /// </summary>
[DebuggerDisplay("{DebuggerToString()}")]
public class HtmlContentBuilder : IHtmlContentBuilder public class HtmlContentBuilder : IHtmlContentBuilder
{ {
/// <summary> /// <summary>
@ -61,7 +63,7 @@ namespace Microsoft.AspNetCore.Html
internal IList<object> Entries { get; } internal IList<object> Entries { get; }
/// <inheritdoc /> /// <inheritdoc />
public IHtmlContentBuilder Append(string unencoded) public IHtmlContentBuilder Append(string? unencoded)
{ {
if (!string.IsNullOrEmpty(unencoded)) if (!string.IsNullOrEmpty(unencoded))
{ {
@ -72,7 +74,7 @@ namespace Microsoft.AspNetCore.Html
} }
/// <inheritdoc /> /// <inheritdoc />
public IHtmlContentBuilder AppendHtml(IHtmlContent htmlContent) public IHtmlContentBuilder AppendHtml(IHtmlContent? htmlContent)
{ {
if (htmlContent == null) if (htmlContent == null)
{ {
@ -84,7 +86,7 @@ namespace Microsoft.AspNetCore.Html
} }
/// <inheritdoc /> /// <inheritdoc />
public IHtmlContentBuilder AppendHtml(string encoded) public IHtmlContentBuilder AppendHtml(string? encoded)
{ {
if (!string.IsNullOrEmpty(encoded)) if (!string.IsNullOrEmpty(encoded))
{ {
@ -113,13 +115,11 @@ namespace Microsoft.AspNetCore.Html
{ {
var entry = Entries[i]; var entry = Entries[i];
string entryAsString; if (entry is string entryAsString)
IHtmlContentContainer entryAsContainer;
if ((entryAsString = entry as string) != null)
{ {
destination.Append(entryAsString); destination.Append(entryAsString);
} }
else if ((entryAsContainer = entry as IHtmlContentContainer) != null) else if (entry is IHtmlContentContainer entryAsContainer)
{ {
// Since we're copying, do a deep flatten. // Since we're copying, do a deep flatten.
entryAsContainer.CopyTo(destination); entryAsContainer.CopyTo(destination);
@ -144,13 +144,11 @@ namespace Microsoft.AspNetCore.Html
{ {
var entry = Entries[i]; var entry = Entries[i];
string entryAsString; if (entry is string entryAsString)
IHtmlContentContainer entryAsContainer;
if ((entryAsString = entry as string) != null)
{ {
destination.Append(entryAsString); destination.Append(entryAsString);
} }
else if ((entryAsContainer = entry as IHtmlContentContainer) != null) else if (entry is IHtmlContentContainer entryAsContainer)
{ {
// Since we're moving, do a deep flatten. // Since we're moving, do a deep flatten.
entryAsContainer.MoveTo(destination); entryAsContainer.MoveTo(destination);
@ -197,11 +195,9 @@ namespace Microsoft.AspNetCore.Html
private string DebuggerToString() private string DebuggerToString()
{ {
using (var writer = new StringWriter()) using var writer = new StringWriter();
{ WriteTo(writer, HtmlEncoder.Default);
WriteTo(writer, HtmlEncoder.Default); return writer.ToString();
return writer.ToString();
}
} }
} }
} }

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Html
/// <param name="formatProvider">An object that provides culture-specific formatting information.</param> /// <param name="formatProvider">An object that provides culture-specific formatting information.</param>
/// <param name="format">A composite format string.</param> /// <param name="format">A composite format string.</param>
/// <param name="args">An array that contains objects to format.</param> /// <param name="args">An array that contains objects to format.</param>
public HtmlFormattableString(IFormatProvider formatProvider, string format, params object[] args) public HtmlFormattableString(IFormatProvider? formatProvider, string format, params object[] args)
{ {
if (format == null) if (format == null)
{ {
@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Html
private readonly HtmlEncoder _encoder; private readonly HtmlEncoder _encoder;
private readonly IFormatProvider _formatProvider; private readonly IFormatProvider _formatProvider;
private StringWriter _writer; private StringWriter? _writer;
public EncodingFormatProvider(IFormatProvider formatProvider, HtmlEncoder encoder) public EncodingFormatProvider(IFormatProvider formatProvider, HtmlEncoder encoder)
{ {
@ -105,7 +105,7 @@ namespace Microsoft.AspNetCore.Html
_encoder = encoder; _encoder = encoder;
} }
public string Format(string format, object arg, IFormatProvider formatProvider) public string Format(string? format, object? arg, IFormatProvider? formatProvider)
{ {
// These are the cases we need to special case. We trust the HtmlString or IHtmlContent instance // These are the cases we need to special case. We trust the HtmlString or IHtmlContent instance
// to do the right thing with encoding. // to do the right thing with encoding.
@ -118,7 +118,7 @@ namespace Microsoft.AspNetCore.Html
var htmlContent = arg as IHtmlContent; var htmlContent = arg as IHtmlContent;
if (htmlContent != null) if (htmlContent != null)
{ {
_writer = _writer ?? new StringWriter(); _writer ??= new StringWriter();
htmlContent.WriteTo(_writer, _encoder); htmlContent.WriteTo(_writer, _encoder);
@ -133,7 +133,7 @@ namespace Microsoft.AspNetCore.Html
// //
// First check for an ICustomFormatter - if the IFormatProvider is a CultureInfo, then it's likely // First check for an ICustomFormatter - if the IFormatProvider is a CultureInfo, then it's likely
// that ICustomFormatter will be null. // that ICustomFormatter will be null.
var customFormatter = (ICustomFormatter)_formatProvider.GetFormat(typeof(ICustomFormatter)); var customFormatter = (ICustomFormatter?)_formatProvider.GetFormat(typeof(ICustomFormatter));
if (customFormatter != null) if (customFormatter != null)
{ {
var result = customFormatter.Format(format, arg, _formatProvider); var result = customFormatter.Format(format, arg, _formatProvider);
@ -170,7 +170,7 @@ namespace Microsoft.AspNetCore.Html
return string.Empty; return string.Empty;
} }
public object GetFormat(Type formatType) public object? GetFormat(Type? formatType)
{ {
if (formatType == typeof(ICustomFormatter)) if (formatType == typeof(ICustomFormatter))
{ {

View File

@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Html
/// Creates a new <see cref="HtmlString"/>. /// Creates a new <see cref="HtmlString"/>.
/// </summary> /// </summary>
/// <param name="value">The HTML encoded value.</param> /// <param name="value">The HTML encoded value.</param>
public HtmlString(string value) public HtmlString(string? value)
{ {
Value = value; Value = value;
} }
@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Html
/// <summary> /// <summary>
/// Gets the HTML encoded value. /// Gets the HTML encoded value.
/// </summary> /// </summary>
public string Value { get; } public string? Value { get; }
/// <inheritdoc /> /// <inheritdoc />
public void WriteTo(TextWriter writer, HtmlEncoder encoder) public void WriteTo(TextWriter writer, HtmlEncoder encoder)

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<Description>ASP.NET Core HTML abstractions used for building HTML content. <Description>ASP.NET Core HTML abstractions used for building HTML content.
@ -11,6 +11,7 @@ Microsoft.AspNetCore.Html.IHtmlContent</Description>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore</PackageTags> <PackageTags>aspnetcore</PackageTags>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -256,7 +256,7 @@ namespace Microsoft.Extensions.Internal
return _content.GetHashCode(); return _content.GetHashCode();
} }
public override bool Equals(object obj) public override bool Equals(object? obj)
{ {
var other = obj as TestHtmlContent; var other = obj as TestHtmlContent;
if (other != null) if (other != null)
@ -267,9 +267,9 @@ namespace Microsoft.Extensions.Internal
return base.Equals(obj); return base.Equals(obj);
} }
public bool Equals(TestHtmlContent other) public bool Equals(TestHtmlContent? other)
{ {
return string.Equals(_content, other._content); return other != null && string.Equals(_content, other._content);
} }
} }
} }

View File

@ -2,6 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -2,6 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
<Nullable>annotations</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'">
<Compile Include="Microsoft.AspNetCore.Authentication.Abstractions.netcoreapp.cs" /> <Compile Include="Microsoft.AspNetCore.Authentication.Abstractions.netcoreapp.cs" />

View File

@ -6,51 +6,52 @@ namespace Microsoft.AspNetCore.Authentication
public partial class AuthenticateResult public partial class AuthenticateResult
{ {
protected AuthenticateResult() { } protected AuthenticateResult() { }
public System.Exception Failure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] protected set { } } public System.Exception? Failure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] protected set { } }
public bool None { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] protected set { } } public bool None { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] protected set { } }
public System.Security.Claims.ClaimsPrincipal Principal { get { throw null; } } public System.Security.Claims.ClaimsPrincipal? Principal { get { throw null; } }
public Microsoft.AspNetCore.Authentication.AuthenticationProperties Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] protected set { } } public Microsoft.AspNetCore.Authentication.AuthenticationProperties? Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] protected set { } }
public bool Succeeded { get { throw null; } } public bool Succeeded { get { throw null; } }
public Microsoft.AspNetCore.Authentication.AuthenticationTicket Ticket { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] protected set { } } public Microsoft.AspNetCore.Authentication.AuthenticationTicket? Ticket { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] protected set { } }
public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(System.Exception failure) { throw null; } public Microsoft.AspNetCore.Authentication.AuthenticateResult Clone() { throw null; }
public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(System.Exception failure, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(System.Exception? failure) { throw null; }
public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(string failureMessage) { throw null; } public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(System.Exception? failure, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(string failureMessage, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(string? failureMessage) { throw null; }
public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(string? failureMessage, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static Microsoft.AspNetCore.Authentication.AuthenticateResult NoResult() { throw null; } public static Microsoft.AspNetCore.Authentication.AuthenticateResult NoResult() { throw null; }
public static Microsoft.AspNetCore.Authentication.AuthenticateResult Success(Microsoft.AspNetCore.Authentication.AuthenticationTicket ticket) { throw null; } public static Microsoft.AspNetCore.Authentication.AuthenticateResult Success(Microsoft.AspNetCore.Authentication.AuthenticationTicket ticket) { throw null; }
} }
public static partial class AuthenticationHttpContextExtensions public static partial class AuthenticationHttpContextExtensions
{ {
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(this Microsoft.AspNetCore.Http.HttpContext context) { throw null; } public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(this Microsoft.AspNetCore.Http.HttpContext context) { throw null; }
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme) { throw null; } public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(this Microsoft.AspNetCore.Http.HttpContext context, string? scheme) { throw null; }
public static System.Threading.Tasks.Task ChallengeAsync(this Microsoft.AspNetCore.Http.HttpContext context) { throw null; } public static System.Threading.Tasks.Task ChallengeAsync(this Microsoft.AspNetCore.Http.HttpContext context) { throw null; }
public static System.Threading.Tasks.Task ChallengeAsync(this Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Threading.Tasks.Task ChallengeAsync(this Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static System.Threading.Tasks.Task ChallengeAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme) { throw null; } public static System.Threading.Tasks.Task ChallengeAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme) { throw null; }
public static System.Threading.Tasks.Task ChallengeAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Threading.Tasks.Task ChallengeAsync(this Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static System.Threading.Tasks.Task ForbidAsync(this Microsoft.AspNetCore.Http.HttpContext context) { throw null; } public static System.Threading.Tasks.Task ForbidAsync(this Microsoft.AspNetCore.Http.HttpContext context) { throw null; }
public static System.Threading.Tasks.Task ForbidAsync(this Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Threading.Tasks.Task ForbidAsync(this Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static System.Threading.Tasks.Task ForbidAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme) { throw null; } public static System.Threading.Tasks.Task ForbidAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme) { throw null; }
public static System.Threading.Tasks.Task ForbidAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Threading.Tasks.Task ForbidAsync(this Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static System.Threading.Tasks.Task<string> GetTokenAsync(this Microsoft.AspNetCore.Http.HttpContext context, string tokenName) { throw null; } public static System.Threading.Tasks.Task<string?> GetTokenAsync(this Microsoft.AspNetCore.Http.HttpContext context, string tokenName) { throw null; }
public static System.Threading.Tasks.Task<string> GetTokenAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme, string tokenName) { throw null; } public static System.Threading.Tasks.Task<string?> GetTokenAsync(this Microsoft.AspNetCore.Http.HttpContext context, string? scheme, string tokenName) { throw null; }
public static System.Threading.Tasks.Task SignInAsync(this Microsoft.AspNetCore.Http.HttpContext context, System.Security.Claims.ClaimsPrincipal principal) { throw null; } public static System.Threading.Tasks.Task SignInAsync(this Microsoft.AspNetCore.Http.HttpContext context, System.Security.Claims.ClaimsPrincipal principal) { throw null; }
public static System.Threading.Tasks.Task SignInAsync(this Microsoft.AspNetCore.Http.HttpContext context, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Threading.Tasks.Task SignInAsync(this Microsoft.AspNetCore.Http.HttpContext context, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static System.Threading.Tasks.Task SignInAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme, System.Security.Claims.ClaimsPrincipal principal) { throw null; } public static System.Threading.Tasks.Task SignInAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme, System.Security.Claims.ClaimsPrincipal principal) { throw null; }
public static System.Threading.Tasks.Task SignInAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Threading.Tasks.Task SignInAsync(this Microsoft.AspNetCore.Http.HttpContext context, string? scheme, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static System.Threading.Tasks.Task SignOutAsync(this Microsoft.AspNetCore.Http.HttpContext context) { throw null; } public static System.Threading.Tasks.Task SignOutAsync(this Microsoft.AspNetCore.Http.HttpContext context) { throw null; }
public static System.Threading.Tasks.Task SignOutAsync(this Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Threading.Tasks.Task SignOutAsync(this Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
public static System.Threading.Tasks.Task SignOutAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme) { throw null; } public static System.Threading.Tasks.Task SignOutAsync(this Microsoft.AspNetCore.Http.HttpContext context, string? scheme) { throw null; }
public static System.Threading.Tasks.Task SignOutAsync(this Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Threading.Tasks.Task SignOutAsync(this Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
} }
public partial class AuthenticationOptions public partial class AuthenticationOptions
{ {
public AuthenticationOptions() { } public AuthenticationOptions() { }
public string DefaultAuthenticateScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? DefaultAuthenticateScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public string DefaultChallengeScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? DefaultChallengeScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public string DefaultForbidScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? DefaultForbidScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public string DefaultScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? DefaultScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public string DefaultSignInScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? DefaultSignInScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public string DefaultSignOutScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? DefaultSignOutScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public bool RequireAuthenticatedSignIn { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public bool RequireAuthenticatedSignIn { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public System.Collections.Generic.IDictionary<string, Microsoft.AspNetCore.Authentication.AuthenticationSchemeBuilder> SchemeMap { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public System.Collections.Generic.IDictionary<string, Microsoft.AspNetCore.Authentication.AuthenticationSchemeBuilder> SchemeMap { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationSchemeBuilder> Schemes { get { throw null; } } public System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationSchemeBuilder> Schemes { get { throw null; } }
@ -60,60 +61,63 @@ namespace Microsoft.AspNetCore.Authentication
public partial class AuthenticationProperties public partial class AuthenticationProperties
{ {
public AuthenticationProperties() { } public AuthenticationProperties() { }
public AuthenticationProperties(System.Collections.Generic.IDictionary<string, string> items) { } public AuthenticationProperties(System.Collections.Generic.IDictionary<string, string?> items) { }
public AuthenticationProperties(System.Collections.Generic.IDictionary<string, string> items, System.Collections.Generic.IDictionary<string, object> parameters) { } public AuthenticationProperties(System.Collections.Generic.IDictionary<string, string?>? items, System.Collections.Generic.IDictionary<string, object?>? parameters) { }
public bool? AllowRefresh { get { throw null; } set { } } public bool? AllowRefresh { get { throw null; } set { } }
public System.DateTimeOffset? ExpiresUtc { get { throw null; } set { } } public System.DateTimeOffset? ExpiresUtc { get { throw null; } set { } }
public bool IsPersistent { get { throw null; } set { } } public bool IsPersistent { get { throw null; } set { } }
public System.DateTimeOffset? IssuedUtc { get { throw null; } set { } } public System.DateTimeOffset? IssuedUtc { get { throw null; } set { } }
public System.Collections.Generic.IDictionary<string, string> Items { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public System.Collections.Generic.IDictionary<string, string?> Items { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public System.Collections.Generic.IDictionary<string, object> Parameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public System.Collections.Generic.IDictionary<string, object?> Parameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public string RedirectUri { get { throw null; } set { } } public string? RedirectUri { get { throw null; } set { } }
public Microsoft.AspNetCore.Authentication.AuthenticationProperties Clone() { throw null; }
protected bool? GetBool(string key) { throw null; } protected bool? GetBool(string key) { throw null; }
protected System.DateTimeOffset? GetDateTimeOffset(string key) { throw null; } protected System.DateTimeOffset? GetDateTimeOffset(string key) { throw null; }
[return: System.Diagnostics.CodeAnalysis.MaybeNullAttribute]
public T GetParameter<T>(string key) { throw null; } public T GetParameter<T>(string key) { throw null; }
public string GetString(string key) { throw null; } public string? GetString(string key) { throw null; }
protected void SetBool(string key, bool? value) { } protected void SetBool(string key, bool? value) { }
protected void SetDateTimeOffset(string key, System.DateTimeOffset? value) { } protected void SetDateTimeOffset(string key, System.DateTimeOffset? value) { }
public void SetParameter<T>(string key, T value) { } public void SetParameter<T>(string key, [System.Diagnostics.CodeAnalysis.MaybeNullAttribute] T value) { }
public void SetString(string key, string value) { } public void SetString(string key, string? value) { }
} }
public partial class AuthenticationScheme public partial class AuthenticationScheme
{ {
public AuthenticationScheme(string name, string displayName, System.Type handlerType) { } public AuthenticationScheme(string name, string? displayName, System.Type handlerType) { }
public string DisplayName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public string? DisplayName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public System.Type HandlerType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public System.Type HandlerType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
} }
public partial class AuthenticationSchemeBuilder public partial class AuthenticationSchemeBuilder
{ {
public AuthenticationSchemeBuilder(string name) { } public AuthenticationSchemeBuilder(string name) { }
public string DisplayName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? DisplayName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public System.Type HandlerType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public System.Type? HandlerType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public Microsoft.AspNetCore.Authentication.AuthenticationScheme Build() { throw null; } public Microsoft.AspNetCore.Authentication.AuthenticationScheme Build() { throw null; }
} }
public partial class AuthenticationTicket public partial class AuthenticationTicket
{ {
public AuthenticationTicket(System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string authenticationScheme) { } public AuthenticationTicket(System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties, string? authenticationScheme) { }
public AuthenticationTicket(System.Security.Claims.ClaimsPrincipal principal, string authenticationScheme) { } public AuthenticationTicket(System.Security.Claims.ClaimsPrincipal principal, string authenticationScheme) { }
public string AuthenticationScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public string? AuthenticationScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public System.Security.Claims.ClaimsPrincipal Principal { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public System.Security.Claims.ClaimsPrincipal Principal { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public Microsoft.AspNetCore.Authentication.AuthenticationProperties Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public Microsoft.AspNetCore.Authentication.AuthenticationProperties Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public Microsoft.AspNetCore.Authentication.AuthenticationTicket Clone() { throw null; }
} }
public partial class AuthenticationToken public partial class AuthenticationToken
{ {
public AuthenticationToken() { } public AuthenticationToken() { }
public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
public string Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } public string? Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
} }
public static partial class AuthenticationTokenExtensions public static partial class AuthenticationTokenExtensions
{ {
public static System.Threading.Tasks.Task<string> GetTokenAsync(this Microsoft.AspNetCore.Authentication.IAuthenticationService auth, Microsoft.AspNetCore.Http.HttpContext context, string tokenName) { throw null; } public static System.Threading.Tasks.Task<string?> GetTokenAsync(this Microsoft.AspNetCore.Authentication.IAuthenticationService auth, Microsoft.AspNetCore.Http.HttpContext context, string tokenName) { throw null; }
[System.Diagnostics.DebuggerStepThroughAttribute] [System.Diagnostics.DebuggerStepThroughAttribute]
public static System.Threading.Tasks.Task<string> GetTokenAsync(this Microsoft.AspNetCore.Authentication.IAuthenticationService auth, Microsoft.AspNetCore.Http.HttpContext context, string scheme, string tokenName) { throw null; } public static System.Threading.Tasks.Task<string?> GetTokenAsync(this Microsoft.AspNetCore.Authentication.IAuthenticationService auth, Microsoft.AspNetCore.Http.HttpContext context, string? scheme, string tokenName) { throw null; }
public static System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationToken> GetTokens(this Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public static System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationToken> GetTokens(this Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; }
public static string GetTokenValue(this Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string tokenName) { throw null; } public static string? GetTokenValue(this Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string tokenName) { throw null; }
public static void StoreTokens(this Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationToken> tokens) { } public static void StoreTokens(this Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationToken> tokens) { }
public static bool UpdateTokenValue(this Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string tokenName, string tokenValue) { throw null; } public static bool UpdateTokenValue(this Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string tokenName, string tokenValue) { throw null; }
} }
@ -125,13 +129,13 @@ namespace Microsoft.AspNetCore.Authentication
public partial interface IAuthenticationHandler public partial interface IAuthenticationHandler
{ {
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync();
System.Threading.Tasks.Task ChallengeAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties); System.Threading.Tasks.Task ChallengeAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
System.Threading.Tasks.Task ForbidAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties); System.Threading.Tasks.Task ForbidAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
System.Threading.Tasks.Task InitializeAsync(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Http.HttpContext context); System.Threading.Tasks.Task InitializeAsync(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Http.HttpContext context);
} }
public partial interface IAuthenticationHandlerProvider public partial interface IAuthenticationHandlerProvider
{ {
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.IAuthenticationHandler> GetHandlerAsync(Microsoft.AspNetCore.Http.HttpContext context, string authenticationScheme); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.IAuthenticationHandler?> GetHandlerAsync(Microsoft.AspNetCore.Http.HttpContext context, string authenticationScheme);
} }
public partial interface IAuthenticationRequestHandler : Microsoft.AspNetCore.Authentication.IAuthenticationHandler public partial interface IAuthenticationRequestHandler : Microsoft.AspNetCore.Authentication.IAuthenticationHandler
{ {
@ -141,31 +145,31 @@ namespace Microsoft.AspNetCore.Authentication
{ {
void AddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme); void AddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme);
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>> GetAllSchemesAsync(); System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>> GetAllSchemesAsync();
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultAuthenticateSchemeAsync(); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultAuthenticateSchemeAsync();
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultChallengeSchemeAsync(); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultChallengeSchemeAsync();
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultForbidSchemeAsync(); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultForbidSchemeAsync();
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultSignInSchemeAsync(); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultSignInSchemeAsync();
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultSignOutSchemeAsync(); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultSignOutSchemeAsync();
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>> GetRequestHandlerSchemesAsync(); System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>> GetRequestHandlerSchemesAsync();
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetSchemeAsync(string name); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetSchemeAsync(string name);
void RemoveScheme(string name); void RemoveScheme(string name);
bool TryAddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme) { throw null; } bool TryAddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme) { throw null; }
} }
public partial interface IAuthenticationService public partial interface IAuthenticationService
{ {
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme); System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme);
System.Threading.Tasks.Task ChallengeAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties); System.Threading.Tasks.Task ChallengeAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
System.Threading.Tasks.Task ForbidAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties); System.Threading.Tasks.Task ForbidAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
System.Threading.Tasks.Task SignInAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties); System.Threading.Tasks.Task SignInAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties); System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
} }
public partial interface IAuthenticationSignInHandler : Microsoft.AspNetCore.Authentication.IAuthenticationHandler, Microsoft.AspNetCore.Authentication.IAuthenticationSignOutHandler public partial interface IAuthenticationSignInHandler : Microsoft.AspNetCore.Authentication.IAuthenticationHandler, Microsoft.AspNetCore.Authentication.IAuthenticationSignOutHandler
{ {
System.Threading.Tasks.Task SignInAsync(System.Security.Claims.ClaimsPrincipal user, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties); System.Threading.Tasks.Task SignInAsync(System.Security.Claims.ClaimsPrincipal user, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
} }
public partial interface IAuthenticationSignOutHandler : Microsoft.AspNetCore.Authentication.IAuthenticationHandler public partial interface IAuthenticationSignOutHandler : Microsoft.AspNetCore.Authentication.IAuthenticationHandler
{ {
System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties); System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
} }
public partial interface IClaimsTransformation public partial interface IClaimsTransformation
{ {

View File

@ -24,28 +24,50 @@ namespace Microsoft.AspNetCore.Authentication
/// <summary> /// <summary>
/// The authentication ticket. /// The authentication ticket.
/// </summary> /// </summary>
public AuthenticationTicket Ticket { get; protected set; } public AuthenticationTicket? Ticket { get; protected set; }
/// <summary> /// <summary>
/// Gets the claims-principal with authenticated user identities. /// Gets the claims-principal with authenticated user identities.
/// </summary> /// </summary>
public ClaimsPrincipal Principal => Ticket?.Principal; public ClaimsPrincipal? Principal => Ticket?.Principal;
/// <summary> /// <summary>
/// Additional state values for the authentication session. /// Additional state values for the authentication session.
/// </summary> /// </summary>
public AuthenticationProperties Properties { get; protected set; } public AuthenticationProperties? Properties { get; protected set; }
/// <summary> /// <summary>
/// Holds failure information from the authentication. /// Holds failure information from the authentication.
/// </summary> /// </summary>
public Exception Failure { get; protected set; } public Exception? Failure { get; protected set; }
/// <summary> /// <summary>
/// Indicates that there was no information returned for this authentication scheme. /// Indicates that there was no information returned for this authentication scheme.
/// </summary> /// </summary>
public bool None { get; protected set; } public bool None { get; protected set; }
/// <summary>
/// Create a new deep copy of the result
/// </summary>
/// <returns>A copy of the result</returns>
public AuthenticateResult Clone()
{
if (None)
{
return NoResult();
}
if (Failure != null)
{
return Fail(Failure, Properties?.Clone());
}
if (Succeeded)
{
return Success(Ticket!.Clone());
}
// This shouldn't happen
throw new NotImplementedException();
}
/// <summary> /// <summary>
/// Indicates that authentication was successful. /// Indicates that authentication was successful.
/// </summary> /// </summary>
@ -74,7 +96,7 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="failure">The failure exception.</param> /// <param name="failure">The failure exception.</param>
/// <returns>The result.</returns> /// <returns>The result.</returns>
public static AuthenticateResult Fail(Exception failure) public static AuthenticateResult Fail(Exception? failure)
{ {
return new AuthenticateResult() { Failure = failure }; return new AuthenticateResult() { Failure = failure };
} }
@ -85,7 +107,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="failure">The failure exception.</param> /// <param name="failure">The failure exception.</param>
/// <param name="properties">Additional state values for the authentication session.</param> /// <param name="properties">Additional state values for the authentication session.</param>
/// <returns>The result.</returns> /// <returns>The result.</returns>
public static AuthenticateResult Fail(Exception failure, AuthenticationProperties properties) public static AuthenticateResult Fail(Exception? failure, AuthenticationProperties? properties)
{ {
return new AuthenticateResult() { Failure = failure, Properties = properties }; return new AuthenticateResult() { Failure = failure, Properties = properties };
} }
@ -95,7 +117,7 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="failureMessage">The failure message.</param> /// <param name="failureMessage">The failure message.</param>
/// <returns>The result.</returns> /// <returns>The result.</returns>
public static AuthenticateResult Fail(string failureMessage) public static AuthenticateResult Fail(string? failureMessage)
=> Fail(new Exception(failureMessage)); => Fail(new Exception(failureMessage));
/// <summary> /// <summary>
@ -104,7 +126,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="failureMessage">The failure message.</param> /// <param name="failureMessage">The failure message.</param>
/// <param name="properties">Additional state values for the authentication session.</param> /// <param name="properties">Additional state values for the authentication session.</param>
/// <returns>The result.</returns> /// <returns>The result.</returns>
public static AuthenticateResult Fail(string failureMessage, AuthenticationProperties properties) public static AuthenticateResult Fail(string? failureMessage, AuthenticationProperties? properties)
=> Fail(new Exception(failureMessage), properties); => Fail(new Exception(failureMessage), properties);
} }
} }

View File

@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The <see cref="HttpContext"/> context.</param> /// <param name="context">The <see cref="HttpContext"/> context.</param>
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <returns>The <see cref="AuthenticateResult"/>.</returns> /// <returns>The <see cref="AuthenticateResult"/>.</returns>
public static Task<AuthenticateResult> AuthenticateAsync(this HttpContext context, string scheme) => public static Task<AuthenticateResult> AuthenticateAsync(this HttpContext context, string? scheme) =>
context.RequestServices.GetRequiredService<IAuthenticationService>().AuthenticateAsync(context, scheme); context.RequestServices.GetRequiredService<IAuthenticationService>().AuthenticateAsync(context, scheme);
/// <summary> /// <summary>
@ -53,7 +53,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The <see cref="HttpContext"/> context.</param> /// <param name="context">The <see cref="HttpContext"/> context.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task ChallengeAsync(this HttpContext context, AuthenticationProperties properties) => public static Task ChallengeAsync(this HttpContext context, AuthenticationProperties? properties) =>
context.ChallengeAsync(scheme: null, properties: properties); context.ChallengeAsync(scheme: null, properties: properties);
/// <summary> /// <summary>
@ -63,7 +63,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task ChallengeAsync(this HttpContext context, string scheme, AuthenticationProperties properties) => public static Task ChallengeAsync(this HttpContext context, string? scheme, AuthenticationProperties? properties) =>
context.RequestServices.GetRequiredService<IAuthenticationService>().ChallengeAsync(context, scheme, properties); context.RequestServices.GetRequiredService<IAuthenticationService>().ChallengeAsync(context, scheme, properties);
/// <summary> /// <summary>
@ -89,7 +89,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The <see cref="HttpContext"/> context.</param> /// <param name="context">The <see cref="HttpContext"/> context.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task ForbidAsync(this HttpContext context, AuthenticationProperties properties) => public static Task ForbidAsync(this HttpContext context, AuthenticationProperties? properties) =>
context.ForbidAsync(scheme: null, properties: properties); context.ForbidAsync(scheme: null, properties: properties);
/// <summary> /// <summary>
@ -99,7 +99,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task ForbidAsync(this HttpContext context, string scheme, AuthenticationProperties properties) => public static Task ForbidAsync(this HttpContext context, string? scheme, AuthenticationProperties? properties) =>
context.RequestServices.GetRequiredService<IAuthenticationService>().ForbidAsync(context, scheme, properties); context.RequestServices.GetRequiredService<IAuthenticationService>().ForbidAsync(context, scheme, properties);
/// <summary> /// <summary>
@ -128,7 +128,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="principal">The user.</param> /// <param name="principal">The user.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task SignInAsync(this HttpContext context, ClaimsPrincipal principal, AuthenticationProperties properties) => public static Task SignInAsync(this HttpContext context, ClaimsPrincipal principal, AuthenticationProperties? properties) =>
context.SignInAsync(scheme: null, principal: principal, properties: properties); context.SignInAsync(scheme: null, principal: principal, properties: properties);
/// <summary> /// <summary>
@ -139,7 +139,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="principal">The user.</param> /// <param name="principal">The user.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task SignInAsync(this HttpContext context, string scheme, ClaimsPrincipal principal, AuthenticationProperties properties) => public static Task SignInAsync(this HttpContext context, string? scheme, ClaimsPrincipal principal, AuthenticationProperties? properties) =>
context.RequestServices.GetRequiredService<IAuthenticationService>().SignInAsync(context, scheme, principal, properties); context.RequestServices.GetRequiredService<IAuthenticationService>().SignInAsync(context, scheme, principal, properties);
/// <summary> /// <summary>
@ -155,7 +155,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The <see cref="HttpContext"/> context.</param> /// <param name="context">The <see cref="HttpContext"/> context.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task SignOutAsync(this HttpContext context, AuthenticationProperties properties) => context.SignOutAsync(scheme: null, properties: properties); public static Task SignOutAsync(this HttpContext context, AuthenticationProperties? properties) => context.SignOutAsync(scheme: null, properties: properties);
/// <summary> /// <summary>
/// Extension method for SignOut. /// Extension method for SignOut.
@ -163,7 +163,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The <see cref="HttpContext"/> context.</param> /// <param name="context">The <see cref="HttpContext"/> context.</param>
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task SignOutAsync(this HttpContext context, string scheme) => context.SignOutAsync(scheme, properties: null); public static Task SignOutAsync(this HttpContext context, string? scheme) => context.SignOutAsync(scheme, properties: null);
/// <summary> /// <summary>
/// Extension method for SignOut. /// Extension method for SignOut.
@ -172,7 +172,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <returns>The task.</returns> /// <returns>The task.</returns>
public static Task SignOutAsync(this HttpContext context, string scheme, AuthenticationProperties properties) => public static Task SignOutAsync(this HttpContext context, string? scheme, AuthenticationProperties? properties) =>
context.RequestServices.GetRequiredService<IAuthenticationService>().SignOutAsync(context, scheme, properties); context.RequestServices.GetRequiredService<IAuthenticationService>().SignOutAsync(context, scheme, properties);
/// <summary> /// <summary>
@ -182,7 +182,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <param name="tokenName">The name of the token.</param> /// <param name="tokenName">The name of the token.</param>
/// <returns>The value of the token.</returns> /// <returns>The value of the token.</returns>
public static Task<string> GetTokenAsync(this HttpContext context, string scheme, string tokenName) => public static Task<string?> GetTokenAsync(this HttpContext context, string? scheme, string tokenName) =>
context.RequestServices.GetRequiredService<IAuthenticationService>().GetTokenAsync(context, scheme, tokenName); context.RequestServices.GetRequiredService<IAuthenticationService>().GetTokenAsync(context, scheme, tokenName);
/// <summary> /// <summary>
@ -191,7 +191,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The <see cref="HttpContext"/> context.</param> /// <param name="context">The <see cref="HttpContext"/> context.</param>
/// <param name="tokenName">The name of the token.</param> /// <param name="tokenName">The name of the token.</param>
/// <returns>The value of the token.</returns> /// <returns>The value of the token.</returns>
public static Task<string> GetTokenAsync(this HttpContext context, string tokenName) => public static Task<string?> GetTokenAsync(this HttpContext context, string tokenName) =>
context.RequestServices.GetRequiredService<IAuthenticationService>().GetTokenAsync(context, tokenName); context.RequestServices.GetRequiredService<IAuthenticationService>().GetTokenAsync(context, tokenName);
} }
} }

View File

@ -64,32 +64,32 @@ namespace Microsoft.AspNetCore.Authentication
/// <summary> /// <summary>
/// Used as the fallback default scheme for all the other defaults. /// Used as the fallback default scheme for all the other defaults.
/// </summary> /// </summary>
public string DefaultScheme { get; set; } public string? DefaultScheme { get; set; }
/// <summary> /// <summary>
/// Used as the default scheme by <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>. /// Used as the default scheme by <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.
/// </summary> /// </summary>
public string DefaultAuthenticateScheme { get; set; } public string? DefaultAuthenticateScheme { get; set; }
/// <summary> /// <summary>
/// Used as the default scheme by <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>. /// Used as the default scheme by <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>.
/// </summary> /// </summary>
public string DefaultSignInScheme { get; set; } public string? DefaultSignInScheme { get; set; }
/// <summary> /// <summary>
/// Used as the default scheme by <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>. /// Used as the default scheme by <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>.
/// </summary> /// </summary>
public string DefaultSignOutScheme { get; set; } public string? DefaultSignOutScheme { get; set; }
/// <summary> /// <summary>
/// Used as the default scheme by <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>. /// Used as the default scheme by <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>.
/// </summary> /// </summary>
public string DefaultChallengeScheme { get; set; } public string? DefaultChallengeScheme { get; set; }
/// <summary> /// <summary>
/// Used as the default scheme by <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>. /// Used as the default scheme by <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>.
/// </summary> /// </summary>
public string DefaultForbidScheme { get; set; } public string? DefaultForbidScheme { get; set; }
/// <summary> /// <summary>
/// If true, SignIn should throw if attempted with a ClaimsPrincipal.Identity.IsAuthenticated = false. /// If true, SignIn should throw if attempted with a ClaimsPrincipal.Identity.IsAuthenticated = false.

View File

@ -3,6 +3,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization; using System.Globalization;
namespace Microsoft.AspNetCore.Authentication namespace Microsoft.AspNetCore.Authentication
@ -30,7 +31,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Initializes a new instance of the <see cref="AuthenticationProperties"/> class. /// Initializes a new instance of the <see cref="AuthenticationProperties"/> class.
/// </summary> /// </summary>
/// <param name="items">State values dictionary to use.</param> /// <param name="items">State values dictionary to use.</param>
public AuthenticationProperties(IDictionary<string, string> items) public AuthenticationProperties(IDictionary<string, string?> items)
: this(items, parameters: null) : this(items, parameters: null)
{ } { }
@ -39,22 +40,31 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="items">State values dictionary to use.</param> /// <param name="items">State values dictionary to use.</param>
/// <param name="parameters">Parameters dictionary to use.</param> /// <param name="parameters">Parameters dictionary to use.</param>
public AuthenticationProperties(IDictionary<string, string> items, IDictionary<string, object> parameters) public AuthenticationProperties(IDictionary<string, string?>? items, IDictionary<string, object?>? parameters)
{ {
Items = items ?? new Dictionary<string, string>(StringComparer.Ordinal); Items = items ?? new Dictionary<string, string?>(StringComparer.Ordinal);
Parameters = parameters ?? new Dictionary<string, object>(StringComparer.Ordinal); Parameters = parameters ?? new Dictionary<string, object?>(StringComparer.Ordinal);
} }
/// <summary>
/// Return a copy.
/// </summary>
/// <returns>A copy.</returns>
public AuthenticationProperties Clone()
=> new AuthenticationProperties(
new Dictionary<string, string?>(Items, StringComparer.Ordinal),
new Dictionary<string, object?>(Parameters, StringComparer.Ordinal));
/// <summary> /// <summary>
/// State values about the authentication session. /// State values about the authentication session.
/// </summary> /// </summary>
public IDictionary<string, string> Items { get; } public IDictionary<string, string?> Items { get; }
/// <summary> /// <summary>
/// Collection of parameters that are passed to the authentication handler. These are not intended for /// Collection of parameters that are passed to the authentication handler. These are not intended for
/// serialization or persistence, only for flowing data between call sites. /// serialization or persistence, only for flowing data between call sites.
/// </summary> /// </summary>
public IDictionary<string, object> Parameters { get; } public IDictionary<string, object?> Parameters { get; }
/// <summary> /// <summary>
/// Gets or sets whether the authentication session is persisted across multiple requests. /// Gets or sets whether the authentication session is persisted across multiple requests.
@ -68,7 +78,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <summary> /// <summary>
/// Gets or sets the full path or absolute URI to be used as an http redirect response value. /// Gets or sets the full path or absolute URI to be used as an http redirect response value.
/// </summary> /// </summary>
public string RedirectUri public string? RedirectUri
{ {
get => GetString(RedirectUriKey); get => GetString(RedirectUriKey);
set => SetString(RedirectUriKey, value); set => SetString(RedirectUriKey, value);
@ -106,9 +116,9 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="key">Property key.</param> /// <param name="key">Property key.</param>
/// <returns>Retrieved value or <c>null</c> if the property is not set.</returns> /// <returns>Retrieved value or <c>null</c> if the property is not set.</returns>
public string GetString(string key) public string? GetString(string key)
{ {
return Items.TryGetValue(key, out string value) ? value : null; return Items.TryGetValue(key, out var value) ? value : null;
} }
/// <summary> /// <summary>
@ -116,7 +126,7 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="key">Property key.</param> /// <param name="key">Property key.</param>
/// <param name="value">Value to set or <c>null</c> to remove the property.</param> /// <param name="value">Value to set or <c>null</c> to remove the property.</param>
public void SetString(string key, string value) public void SetString(string key, string? value)
{ {
if (value != null) if (value != null)
{ {
@ -134,6 +144,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <typeparam name="T">Parameter type.</typeparam> /// <typeparam name="T">Parameter type.</typeparam>
/// <param name="key">Parameter key.</param> /// <param name="key">Parameter key.</param>
/// <returns>Retrieved value or the default value if the property is not set.</returns> /// <returns>Retrieved value or the default value if the property is not set.</returns>
[return: MaybeNull]
public T GetParameter<T>(string key) public T GetParameter<T>(string key)
=> Parameters.TryGetValue(key, out var obj) && obj is T value ? value : default; => Parameters.TryGetValue(key, out var obj) && obj is T value ? value : default;
@ -143,7 +154,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <typeparam name="T">Parameter type.</typeparam> /// <typeparam name="T">Parameter type.</typeparam>
/// <param name="key">Parameter key.</param> /// <param name="key">Parameter key.</param>
/// <param name="value">Value to set.</param> /// <param name="value">Value to set.</param>
public void SetParameter<T>(string key, T value) public void SetParameter<T>(string key, [MaybeNull] T value)
=> Parameters[key] = value; => Parameters[key] = value;
/// <summary> /// <summary>
@ -153,7 +164,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <returns>Retrieved value or <c>null</c> if the property is not set.</returns> /// <returns>Retrieved value or <c>null</c> if the property is not set.</returns>
protected bool? GetBool(string key) protected bool? GetBool(string key)
{ {
if (Items.TryGetValue(key, out string value) && bool.TryParse(value, out bool boolValue)) if (Items.TryGetValue(key, out var value) && bool.TryParse(value, out var boolValue))
{ {
return boolValue; return boolValue;
} }
@ -184,8 +195,8 @@ namespace Microsoft.AspNetCore.Authentication
/// <returns>Retrieved value or <c>null</c> if the property is not set.</returns> /// <returns>Retrieved value or <c>null</c> if the property is not set.</returns>
protected DateTimeOffset? GetDateTimeOffset(string key) protected DateTimeOffset? GetDateTimeOffset(string key)
{ {
if (Items.TryGetValue(key, out string value) if (Items.TryGetValue(key, out var value)
&& DateTimeOffset.TryParseExact(value, UtcDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out DateTimeOffset dateTimeOffset)) && DateTimeOffset.TryParseExact(value, UtcDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out var dateTimeOffset))
{ {
return dateTimeOffset; return dateTimeOffset;
} }

View File

@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using System.Reflection;
namespace Microsoft.AspNetCore.Authentication namespace Microsoft.AspNetCore.Authentication
{ {
@ -18,7 +17,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="name">The name for the authentication scheme.</param> /// <param name="name">The name for the authentication scheme.</param>
/// <param name="displayName">The display name for the authentication scheme.</param> /// <param name="displayName">The display name for the authentication scheme.</param>
/// <param name="handlerType">The <see cref="IAuthenticationHandler"/> type that handles this scheme.</param> /// <param name="handlerType">The <see cref="IAuthenticationHandler"/> type that handles this scheme.</param>
public AuthenticationScheme(string name, string displayName, Type handlerType) public AuthenticationScheme(string name, string? displayName, Type handlerType)
{ {
if (name == null) if (name == null)
{ {
@ -46,7 +45,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <summary> /// <summary>
/// The display name for the scheme. Null is valid and used for non user facing schemes. /// The display name for the scheme. Null is valid and used for non user facing schemes.
/// </summary> /// </summary>
public string DisplayName { get; } public string? DisplayName { get; }
/// <summary> /// <summary>
/// The <see cref="IAuthenticationHandler"/> type that handles this scheme. /// The <see cref="IAuthenticationHandler"/> type that handles this scheme.

View File

@ -27,17 +27,25 @@ namespace Microsoft.AspNetCore.Authentication
/// <summary> /// <summary>
/// The display name for the scheme being built. /// The display name for the scheme being built.
/// </summary> /// </summary>
public string DisplayName { get; set; } public string? DisplayName { get; set; }
/// <summary> /// <summary>
/// The <see cref="IAuthenticationHandler"/> type responsible for this scheme. /// The <see cref="IAuthenticationHandler"/> type responsible for this scheme.
/// </summary> /// </summary>
public Type HandlerType { get; set; } public Type? HandlerType { get; set; }
/// <summary> /// <summary>
/// Builds the <see cref="AuthenticationScheme"/> instance. /// Builds the <see cref="AuthenticationScheme"/> instance.
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public AuthenticationScheme Build() => new AuthenticationScheme(Name, DisplayName, HandlerType); public AuthenticationScheme Build()
{
if (HandlerType is null)
{
throw new InvalidOperationException($"{nameof(HandlerType)} must be configured to build an {nameof(AuthenticationScheme)}.");
}
return new AuthenticationScheme(Name, DisplayName, HandlerType);
}
} }
} }

View File

@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="principal">the <see cref="ClaimsPrincipal"/> that represents the authenticated user.</param> /// <param name="principal">the <see cref="ClaimsPrincipal"/> that represents the authenticated user.</param>
/// <param name="properties">additional properties that can be consumed by the user or runtime.</param> /// <param name="properties">additional properties that can be consumed by the user or runtime.</param>
/// <param name="authenticationScheme">the authentication middleware that was responsible for this ticket.</param> /// <param name="authenticationScheme">the authentication middleware that was responsible for this ticket.</param>
public AuthenticationTicket(ClaimsPrincipal principal, AuthenticationProperties properties, string authenticationScheme) public AuthenticationTicket(ClaimsPrincipal principal, AuthenticationProperties? properties, string? authenticationScheme)
{ {
if (principal == null) if (principal == null)
{ {
@ -41,7 +41,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <summary> /// <summary>
/// Gets the authentication type. /// Gets the authentication type.
/// </summary> /// </summary>
public string AuthenticationScheme { get; private set; } public string? AuthenticationScheme { get; private set; }
/// <summary> /// <summary>
/// Gets the claims-principal with authenticated user identities. /// Gets the claims-principal with authenticated user identities.
@ -52,5 +52,20 @@ namespace Microsoft.AspNetCore.Authentication
/// Additional state values for the authentication session. /// Additional state values for the authentication session.
/// </summary> /// </summary>
public AuthenticationProperties Properties { get; private set; } public AuthenticationProperties Properties { get; private set; }
/// <summary>
/// Returns a copy of the ticket.
/// Note: the claims principal will be cloned by calling Clone() on each of the Identities.
/// </summary>
/// <returns>A copy of the ticket</returns>
public AuthenticationTicket Clone()
{
var principal = new ClaimsPrincipal();
foreach (var identity in Principal.Identities)
{
principal.AddIdentity(identity.Clone());
}
return new AuthenticationTicket(principal, Properties.Clone(), AuthenticationScheme);
}
} }
} }

View File

@ -12,11 +12,11 @@ namespace Microsoft.AspNetCore.Authentication
/// <summary> /// <summary>
/// Name. /// Name.
/// </summary> /// </summary>
public string Name { get; set; } public string? Name { get; set; }
/// <summary> /// <summary>
/// Value. /// Value.
/// </summary> /// </summary>
public string Value { get; set; } public string? Value { get; set; }
} }
} }

View File

@ -30,13 +30,13 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param>
/// <returns>A task.</returns> /// <returns>A task.</returns>
Task ChallengeAsync(AuthenticationProperties properties); Task ChallengeAsync(AuthenticationProperties? properties);
/// <summary> /// <summary>
/// Forbid behavior. /// Forbid behavior.
/// </summary> /// </summary>
/// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param>
/// <returns>A task.</returns> /// <returns>A task.</returns>
Task ForbidAsync(AuthenticationProperties properties); Task ForbidAsync(AuthenticationProperties? properties);
} }
} }

View File

@ -17,6 +17,6 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The context.</param> /// <param name="context">The context.</param>
/// <param name="authenticationScheme">The name of the authentication scheme being handled.</param> /// <param name="authenticationScheme">The name of the authentication scheme being handled.</param>
/// <returns>The handler instance.</returns> /// <returns>The handler instance.</returns>
Task<IAuthenticationHandler> GetHandlerAsync(HttpContext context, string authenticationScheme); Task<IAuthenticationHandler?> GetHandlerAsync(HttpContext context, string authenticationScheme);
} }
} }

View File

@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="name">The name of the authenticationScheme.</param> /// <param name="name">The name of the authenticationScheme.</param>
/// <returns>The scheme or null if not found.</returns> /// <returns>The scheme or null if not found.</returns>
Task<AuthenticationScheme> GetSchemeAsync(string name); Task<AuthenticationScheme?> GetSchemeAsync(string name);
/// <summary> /// <summary>
/// Returns the scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>. /// Returns the scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.
@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>. /// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>.
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.</returns>
Task<AuthenticationScheme> GetDefaultAuthenticateSchemeAsync(); Task<AuthenticationScheme?> GetDefaultAuthenticateSchemeAsync();
/// <summary> /// <summary>
/// Returns the scheme that will be used by default for <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>. /// Returns the scheme that will be used by default for <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>.
@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>. /// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>.
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>.</returns>
Task<AuthenticationScheme> GetDefaultChallengeSchemeAsync(); Task<AuthenticationScheme?> GetDefaultChallengeSchemeAsync();
/// <summary> /// <summary>
/// Returns the scheme that will be used by default for <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>. /// Returns the scheme that will be used by default for <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>.
@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="GetDefaultChallengeSchemeAsync"/> . /// Otherwise, this will fallback to <see cref="GetDefaultChallengeSchemeAsync"/> .
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>.</returns>
Task<AuthenticationScheme> GetDefaultForbidSchemeAsync(); Task<AuthenticationScheme?> GetDefaultForbidSchemeAsync();
/// <summary> /// <summary>
/// Returns the scheme that will be used by default for <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>. /// Returns the scheme that will be used by default for <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>.
@ -55,7 +55,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>. /// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>.
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>.</returns>
Task<AuthenticationScheme> GetDefaultSignInSchemeAsync(); Task<AuthenticationScheme?> GetDefaultSignInSchemeAsync();
/// <summary> /// <summary>
/// Returns the scheme that will be used by default for <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>. /// Returns the scheme that will be used by default for <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>.
@ -63,7 +63,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="GetDefaultSignInSchemeAsync"/> . /// Otherwise, this will fallback to <see cref="GetDefaultSignInSchemeAsync"/> .
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>.</returns>
Task<AuthenticationScheme> GetDefaultSignOutSchemeAsync(); Task<AuthenticationScheme?> GetDefaultSignOutSchemeAsync();
/// <summary> /// <summary>
/// Registers a scheme for use by <see cref="IAuthenticationService"/>. /// Registers a scheme for use by <see cref="IAuthenticationService"/>.

View File

@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The <see cref="HttpContext"/>.</param> /// <param name="context">The <see cref="HttpContext"/>.</param>
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <returns>The result.</returns> /// <returns>The result.</returns>
Task<AuthenticateResult> AuthenticateAsync(HttpContext context, string scheme); Task<AuthenticateResult> AuthenticateAsync(HttpContext context, string? scheme);
/// <summary> /// <summary>
/// Challenge the specified authentication scheme. /// Challenge the specified authentication scheme.
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/>.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/>.</param>
/// <returns>A task.</returns> /// <returns>A task.</returns>
Task ChallengeAsync(HttpContext context, string scheme, AuthenticationProperties properties); Task ChallengeAsync(HttpContext context, string? scheme, AuthenticationProperties? properties);
/// <summary> /// <summary>
/// Forbids the specified authentication scheme. /// Forbids the specified authentication scheme.
@ -36,7 +36,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/>.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/>.</param>
/// <returns>A task.</returns> /// <returns>A task.</returns>
Task ForbidAsync(HttpContext context, string scheme, AuthenticationProperties properties); Task ForbidAsync(HttpContext context, string? scheme, AuthenticationProperties? properties);
/// <summary> /// <summary>
/// Sign a principal in for the specified authentication scheme. /// Sign a principal in for the specified authentication scheme.
@ -46,7 +46,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="principal">The <see cref="ClaimsPrincipal"/> to sign in.</param> /// <param name="principal">The <see cref="ClaimsPrincipal"/> to sign in.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/>.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/>.</param>
/// <returns>A task.</returns> /// <returns>A task.</returns>
Task SignInAsync(HttpContext context, string scheme, ClaimsPrincipal principal, AuthenticationProperties properties); Task SignInAsync(HttpContext context, string? scheme, ClaimsPrincipal principal, AuthenticationProperties? properties);
/// <summary> /// <summary>
/// Sign out the specified authentication scheme. /// Sign out the specified authentication scheme.
@ -55,6 +55,6 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/>.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/>.</param>
/// <returns>A task.</returns> /// <returns>A task.</returns>
Task SignOutAsync(HttpContext context, string scheme, AuthenticationProperties properties); Task SignOutAsync(HttpContext context, string? scheme, AuthenticationProperties? properties);
} }
} }

View File

@ -17,6 +17,6 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="user">The <see cref="ClaimsPrincipal"/> user.</param> /// <param name="user">The <see cref="ClaimsPrincipal"/> user.</param>
/// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param>
/// <returns>A task.</returns> /// <returns>A task.</returns>
Task SignInAsync(ClaimsPrincipal user, AuthenticationProperties properties); Task SignInAsync(ClaimsPrincipal user, AuthenticationProperties? properties);
} }
} }

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param>
/// <returns>A task.</returns> /// <returns>A task.</returns>
Task SignOutAsync(AuthenticationProperties properties); Task SignOutAsync(AuthenticationProperties? properties);
} }
} }

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0"> <Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<PropertyGroup> <PropertyGroup>
<Description>ASP.NET Core common types used by the various authentication components.</Description> <Description>ASP.NET Core common types used by the various authentication components.</Description>
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
@ -7,6 +7,8 @@
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;authentication;security</PackageTags> <PackageTags>aspnetcore;authentication;security</PackageTags>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<Nullable>enable</Nullable>
<LangVersion>Preview</LangVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -43,9 +43,14 @@ namespace Microsoft.AspNetCore.Authentication
var tokenNames = new List<string>(); var tokenNames = new List<string>();
foreach (var token in tokens) foreach (var token in tokens)
{ {
if (token.Name is null)
{
throw new ArgumentNullException(nameof(tokens), "Token name cannot be null.");
}
// REVIEW: should probably check that there are no ; in the token name and throw or encode // REVIEW: should probably check that there are no ; in the token name and throw or encode
tokenNames.Add(token.Name); tokenNames.Add(token.Name);
properties.Items[TokenKeyPrefix+token.Name] = token.Value; properties.Items[TokenKeyPrefix + token.Name] = token.Value;
} }
if (tokenNames.Count > 0) if (tokenNames.Count > 0)
{ {
@ -59,7 +64,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param> /// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
/// <param name="tokenName">The token name.</param> /// <param name="tokenName">The token name.</param>
/// <returns>The token value.</returns> /// <returns>The token value.</returns>
public static string GetTokenValue(this AuthenticationProperties properties, string tokenName) public static string? GetTokenValue(this AuthenticationProperties properties, string tokenName)
{ {
if (properties == null) if (properties == null)
{ {
@ -109,9 +114,9 @@ namespace Microsoft.AspNetCore.Authentication
} }
var tokens = new List<AuthenticationToken>(); var tokens = new List<AuthenticationToken>();
if (properties.Items.ContainsKey(TokenNamesKey)) if (properties.Items.TryGetValue(TokenNamesKey, out var value) && !string.IsNullOrEmpty(value))
{ {
var tokenNames = properties.Items[TokenNamesKey].Split(';'); var tokenNames = value.Split(';');
foreach (var name in tokenNames) foreach (var name in tokenNames)
{ {
var token = properties.GetTokenValue(name); var token = properties.GetTokenValue(name);
@ -132,7 +137,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The <see cref="HttpContext"/> context.</param> /// <param name="context">The <see cref="HttpContext"/> context.</param>
/// <param name="tokenName">The name of the token.</param> /// <param name="tokenName">The name of the token.</param>
/// <returns>The value of the token.</returns> /// <returns>The value of the token.</returns>
public static Task<string> GetTokenAsync(this IAuthenticationService auth, HttpContext context, string tokenName) public static Task<string?> GetTokenAsync(this IAuthenticationService auth, HttpContext context, string tokenName)
=> auth.GetTokenAsync(context, scheme: null, tokenName: tokenName); => auth.GetTokenAsync(context, scheme: null, tokenName: tokenName);
/// <summary> /// <summary>
@ -143,7 +148,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="scheme">The name of the authentication scheme.</param> /// <param name="scheme">The name of the authentication scheme.</param>
/// <param name="tokenName">The name of the token.</param> /// <param name="tokenName">The name of the token.</param>
/// <returns>The value of the token.</returns> /// <returns>The value of the token.</returns>
public static async Task<string> GetTokenAsync(this IAuthenticationService auth, HttpContext context, string scheme, string tokenName) public static async Task<string?> GetTokenAsync(this IAuthenticationService auth, HttpContext context, string? scheme, string tokenName)
{ {
if (auth == null) if (auth == null)
{ {

View File

@ -2,6 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
<Nullable>annotations</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'">
<Compile Include="Microsoft.AspNetCore.Authentication.Core.netcoreapp.cs" /> <Compile Include="Microsoft.AspNetCore.Authentication.Core.netcoreapp.cs" />

View File

@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Authentication
public AuthenticationHandlerProvider(Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider schemes) { } public AuthenticationHandlerProvider(Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider schemes) { }
public Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider Schemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider Schemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
[System.Diagnostics.DebuggerStepThroughAttribute] [System.Diagnostics.DebuggerStepThroughAttribute]
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.IAuthenticationHandler> GetHandlerAsync(Microsoft.AspNetCore.Http.HttpContext context, string authenticationScheme) { throw null; } public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.IAuthenticationHandler?> GetHandlerAsync(Microsoft.AspNetCore.Http.HttpContext context, string authenticationScheme) { throw null; }
} }
public partial class AuthenticationSchemeProvider : Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider public partial class AuthenticationSchemeProvider : Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider
{ {
@ -22,13 +22,13 @@ namespace Microsoft.AspNetCore.Authentication
protected AuthenticationSchemeProvider(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authentication.AuthenticationOptions> options, System.Collections.Generic.IDictionary<string, Microsoft.AspNetCore.Authentication.AuthenticationScheme> schemes) { } protected AuthenticationSchemeProvider(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authentication.AuthenticationOptions> options, System.Collections.Generic.IDictionary<string, Microsoft.AspNetCore.Authentication.AuthenticationScheme> schemes) { }
public virtual void AddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme) { } public virtual void AddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme) { }
public virtual System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>> GetAllSchemesAsync() { throw null; } public virtual System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>> GetAllSchemesAsync() { throw null; }
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultAuthenticateSchemeAsync() { throw null; } public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultAuthenticateSchemeAsync() { throw null; }
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultChallengeSchemeAsync() { throw null; } public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultChallengeSchemeAsync() { throw null; }
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultForbidSchemeAsync() { throw null; } public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultForbidSchemeAsync() { throw null; }
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultSignInSchemeAsync() { throw null; } public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultSignInSchemeAsync() { throw null; }
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetDefaultSignOutSchemeAsync() { throw null; } public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultSignOutSchemeAsync() { throw null; }
public virtual System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>> GetRequestHandlerSchemesAsync() { throw null; } public virtual System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>> GetRequestHandlerSchemesAsync() { throw null; }
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetSchemeAsync(string name) { throw null; } public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetSchemeAsync(string name) { throw null; }
public virtual void RemoveScheme(string name) { } public virtual void RemoveScheme(string name) { }
public virtual bool TryAddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme) { throw null; } public virtual bool TryAddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme) { throw null; }
} }
@ -40,15 +40,15 @@ namespace Microsoft.AspNetCore.Authentication
public Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider Schemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider Schemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
public Microsoft.AspNetCore.Authentication.IClaimsTransformation Transform { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } public Microsoft.AspNetCore.Authentication.IClaimsTransformation Transform { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
[System.Diagnostics.DebuggerStepThroughAttribute] [System.Diagnostics.DebuggerStepThroughAttribute]
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme) { throw null; } public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme) { throw null; }
[System.Diagnostics.DebuggerStepThroughAttribute] [System.Diagnostics.DebuggerStepThroughAttribute]
public virtual System.Threading.Tasks.Task ChallengeAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public virtual System.Threading.Tasks.Task ChallengeAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
[System.Diagnostics.DebuggerStepThroughAttribute] [System.Diagnostics.DebuggerStepThroughAttribute]
public virtual System.Threading.Tasks.Task ForbidAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public virtual System.Threading.Tasks.Task ForbidAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
[System.Diagnostics.DebuggerStepThroughAttribute] [System.Diagnostics.DebuggerStepThroughAttribute]
public virtual System.Threading.Tasks.Task SignInAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public virtual System.Threading.Tasks.Task SignInAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
[System.Diagnostics.DebuggerStepThroughAttribute] [System.Diagnostics.DebuggerStepThroughAttribute]
public virtual System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } public virtual System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Http.HttpContext context, string? scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
} }
public partial class NoopClaimsTransformation : Microsoft.AspNetCore.Authentication.IClaimsTransformation public partial class NoopClaimsTransformation : Microsoft.AspNetCore.Authentication.IClaimsTransformation
{ {

View File

@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Authentication
public IAuthenticationSchemeProvider Schemes { get; } public IAuthenticationSchemeProvider Schemes { get; }
// handler instance cache, need to initialize once per request // handler instance cache, need to initialize once per request
private Dictionary<string, IAuthenticationHandler> _handlerMap = new Dictionary<string, IAuthenticationHandler>(StringComparer.Ordinal); private readonly Dictionary<string, IAuthenticationHandler> _handlerMap = new Dictionary<string, IAuthenticationHandler>(StringComparer.Ordinal);
/// <summary> /// <summary>
/// Returns the handler instance that will be used. /// Returns the handler instance that will be used.
@ -37,11 +37,11 @@ namespace Microsoft.AspNetCore.Authentication
/// <param name="context">The context.</param> /// <param name="context">The context.</param>
/// <param name="authenticationScheme">The name of the authentication scheme being handled.</param> /// <param name="authenticationScheme">The name of the authentication scheme being handled.</param>
/// <returns>The handler instance.</returns> /// <returns>The handler instance.</returns>
public async Task<IAuthenticationHandler> GetHandlerAsync(HttpContext context, string authenticationScheme) public async Task<IAuthenticationHandler?> GetHandlerAsync(HttpContext context, string authenticationScheme)
{ {
if (_handlerMap.ContainsKey(authenticationScheme)) if (_handlerMap.TryGetValue(authenticationScheme, out var value))
{ {
return _handlerMap[authenticationScheme]; return value;
} }
var scheme = await Schemes.GetSchemeAsync(authenticationScheme); var scheme = await Schemes.GetSchemeAsync(authenticationScheme);

View File

@ -54,10 +54,10 @@ namespace Microsoft.AspNetCore.Authentication
private IEnumerable<AuthenticationScheme> _schemesCopy = Array.Empty<AuthenticationScheme>(); private IEnumerable<AuthenticationScheme> _schemesCopy = Array.Empty<AuthenticationScheme>();
private IEnumerable<AuthenticationScheme> _requestHandlersCopy = Array.Empty<AuthenticationScheme>(); private IEnumerable<AuthenticationScheme> _requestHandlersCopy = Array.Empty<AuthenticationScheme>();
private Task<AuthenticationScheme> GetDefaultSchemeAsync() private Task<AuthenticationScheme?> GetDefaultSchemeAsync()
=> _options.DefaultScheme != null => _options.DefaultScheme != null
? GetSchemeAsync(_options.DefaultScheme) ? GetSchemeAsync(_options.DefaultScheme)
: Task.FromResult<AuthenticationScheme>(null); : Task.FromResult<AuthenticationScheme?>(null);
/// <summary> /// <summary>
/// Returns the scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>. /// Returns the scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.
@ -65,7 +65,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>. /// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>.
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.</returns>
public virtual Task<AuthenticationScheme> GetDefaultAuthenticateSchemeAsync() public virtual Task<AuthenticationScheme?> GetDefaultAuthenticateSchemeAsync()
=> _options.DefaultAuthenticateScheme != null => _options.DefaultAuthenticateScheme != null
? GetSchemeAsync(_options.DefaultAuthenticateScheme) ? GetSchemeAsync(_options.DefaultAuthenticateScheme)
: GetDefaultSchemeAsync(); : GetDefaultSchemeAsync();
@ -76,7 +76,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>. /// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>.
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>.</returns>
public virtual Task<AuthenticationScheme> GetDefaultChallengeSchemeAsync() public virtual Task<AuthenticationScheme?> GetDefaultChallengeSchemeAsync()
=> _options.DefaultChallengeScheme != null => _options.DefaultChallengeScheme != null
? GetSchemeAsync(_options.DefaultChallengeScheme) ? GetSchemeAsync(_options.DefaultChallengeScheme)
: GetDefaultSchemeAsync(); : GetDefaultSchemeAsync();
@ -87,7 +87,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="GetDefaultChallengeSchemeAsync"/> . /// Otherwise, this will fallback to <see cref="GetDefaultChallengeSchemeAsync"/> .
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>.</returns>
public virtual Task<AuthenticationScheme> GetDefaultForbidSchemeAsync() public virtual Task<AuthenticationScheme?> GetDefaultForbidSchemeAsync()
=> _options.DefaultForbidScheme != null => _options.DefaultForbidScheme != null
? GetSchemeAsync(_options.DefaultForbidScheme) ? GetSchemeAsync(_options.DefaultForbidScheme)
: GetDefaultChallengeSchemeAsync(); : GetDefaultChallengeSchemeAsync();
@ -98,7 +98,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>. /// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>.
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>.</returns>
public virtual Task<AuthenticationScheme> GetDefaultSignInSchemeAsync() public virtual Task<AuthenticationScheme?> GetDefaultSignInSchemeAsync()
=> _options.DefaultSignInScheme != null => _options.DefaultSignInScheme != null
? GetSchemeAsync(_options.DefaultSignInScheme) ? GetSchemeAsync(_options.DefaultSignInScheme)
: GetDefaultSchemeAsync(); : GetDefaultSchemeAsync();
@ -109,7 +109,7 @@ namespace Microsoft.AspNetCore.Authentication
/// Otherwise this will fallback to <see cref="GetDefaultSignInSchemeAsync"/> if that supports sign out. /// Otherwise this will fallback to <see cref="GetDefaultSignInSchemeAsync"/> if that supports sign out.
/// </summary> /// </summary>
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>.</returns> /// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>.</returns>
public virtual Task<AuthenticationScheme> GetDefaultSignOutSchemeAsync() public virtual Task<AuthenticationScheme?> GetDefaultSignOutSchemeAsync()
=> _options.DefaultSignOutScheme != null => _options.DefaultSignOutScheme != null
? GetSchemeAsync(_options.DefaultSignOutScheme) ? GetSchemeAsync(_options.DefaultSignOutScheme)
: GetDefaultSignInSchemeAsync(); : GetDefaultSignInSchemeAsync();
@ -119,7 +119,7 @@ namespace Microsoft.AspNetCore.Authentication
/// </summary> /// </summary>
/// <param name="name">The name of the authenticationScheme.</param> /// <param name="name">The name of the authenticationScheme.</param>
/// <returns>The scheme or null if not found.</returns> /// <returns>The scheme or null if not found.</returns>
public virtual Task<AuthenticationScheme> GetSchemeAsync(string name) public virtual Task<AuthenticationScheme?> GetSchemeAsync(string name)
=> Task.FromResult(_schemes.ContainsKey(name) ? _schemes[name] : null); => Task.FromResult(_schemes.ContainsKey(name) ? _schemes[name] : null);
/// <summary> /// <summary>

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