Merge branch 'master' into merge/release/5.0-preview6-to-master
This commit is contained in:
commit
60a490c44d
|
|
@ -35,7 +35,7 @@ variables:
|
|||
- name: _UseHelixOpenQueues
|
||||
value: 'true'
|
||||
- name: _BuildArgs
|
||||
value: ''
|
||||
value: '/p:SkipTestBuild=true'
|
||||
- name: _PublishArgs
|
||||
value: ''
|
||||
- name: _SignType
|
||||
|
|
@ -66,6 +66,7 @@ variables:
|
|||
- name: _BuildArgs
|
||||
value: /p:TeamName=$(_TeamName)
|
||||
/p:OfficialBuildId=$(Build.BuildNumber)
|
||||
/p:SkipTestBuild=true
|
||||
- name: _SignType
|
||||
value: real
|
||||
|
||||
|
|
@ -81,7 +82,7 @@ variables:
|
|||
|
||||
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- name: _BuildArgs
|
||||
value: ''
|
||||
value: '/p:SkipTestBuild=true'
|
||||
- name: _SignType
|
||||
value: test
|
||||
- name: _PublishArgs
|
||||
|
|
@ -503,16 +504,6 @@ stages:
|
|||
beforeBuild:
|
||||
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
|
||||
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:
|
||||
- name: Windows_Test_Dumps
|
||||
path: artifacts/dumps/
|
||||
|
|
@ -566,20 +557,6 @@ stages:
|
|||
beforeBuild:
|
||||
- bash: "./eng/scripts/install-nginx-mac.sh"
|
||||
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:
|
||||
- name: MacOS_Test_Logs
|
||||
path: artifacts/log/
|
||||
|
|
@ -604,20 +581,6 @@ stages:
|
|||
displayName: Installing Nginx
|
||||
- bash: "echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
|
||||
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:
|
||||
- name: Linux_Test_Logs
|
||||
path: artifacts/log/
|
||||
|
|
@ -730,6 +693,7 @@ stages:
|
|||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
- template: /eng/common/templates/post-build/post-build.yml
|
||||
parameters:
|
||||
# See https://github.com/dotnet/arcade/issues/2871
|
||||
enableSymbolValidation: false
|
||||
publishInstallersAndChecksums: true
|
||||
enableSigningValidation: false
|
||||
enableNugetValidation: false
|
||||
publishInstallersAndChecksums: true
|
||||
|
|
@ -8,15 +8,6 @@ trigger: none
|
|||
# no PR builds
|
||||
pr: none
|
||||
|
||||
# Schedule this pipeline to run every midnight
|
||||
schedules:
|
||||
- cron: "0 8 * * *"
|
||||
displayName: Daily midnight Dev builds
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
always: true
|
||||
|
||||
stages:
|
||||
- stage: build_components
|
||||
displayName: Build Components
|
||||
|
|
@ -32,7 +23,7 @@ stages:
|
|||
- script: ./build.cmd
|
||||
-ci
|
||||
-arch x64
|
||||
/bl:artifacts/log/build.components.x64.binlog
|
||||
/bl:$(Build.SourcesDirectory)/artifacts/log/build.components.x64.binlog
|
||||
displayName: Build x64
|
||||
workingDirectory: ./src/Components
|
||||
artifacts:
|
||||
|
|
@ -55,7 +46,7 @@ stages:
|
|||
- script: ./build.cmd
|
||||
-ci
|
||||
-arch x64
|
||||
/bl:artifacts/log/build.servers.x64.binlog
|
||||
/bl:$(Build.SourcesDirectory)/artifacts/log/build.servers.x64.binlog
|
||||
displayName: Build x64
|
||||
workingDirectory: ./src/Servers
|
||||
artifacts:
|
||||
|
|
@ -78,7 +69,7 @@ stages:
|
|||
- script: ./build.cmd
|
||||
-ci
|
||||
-arch x64
|
||||
/bl:artifacts/log/build.projectTemplates.x64.binlog
|
||||
/bl:$(Build.SourcesDirectory)/artifacts/log/build.projectTemplates.x64.binlog
|
||||
displayName: Build x64
|
||||
workingDirectory: ./src/ProjectTemplates
|
||||
artifacts:
|
||||
|
|
@ -101,7 +92,7 @@ stages:
|
|||
- script: ./build.cmd
|
||||
-ci
|
||||
-arch x64
|
||||
/bl:artifacts/log/build.all.x64.binlog
|
||||
/bl:$(Build.SourcesDirectory)/artifacts/log/build.all.x64.binlog
|
||||
displayName: Build x64
|
||||
artifacts:
|
||||
- name: Windows_Logs
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ jobs:
|
|||
displayName: Build shared fx
|
||||
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
|
||||
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:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||
displayName: Run build.cmd helix target
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ jobs:
|
|||
displayName: Install JDK 11
|
||||
- ${{ if eq(parameters.isTestingJob, true) }}:
|
||||
- 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
|
||||
displayName: Install Chrome
|
||||
- ${{ if and(eq(parameters.installTar, 'true'), eq(parameters.agentOs, 'Windows')) }}:
|
||||
|
|
@ -238,13 +238,25 @@ jobs:
|
|||
continueOnError: true
|
||||
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 }}:
|
||||
- task: PublishBuildArtifacts@1
|
||||
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')))
|
||||
continueOnError: true
|
||||
inputs:
|
||||
pathtoPublish: $(BuildDirectory)/${{ artifact.path }}
|
||||
pathtoPublish: $(Build.SourcesDirectory)/${{ artifact.path }}
|
||||
${{ if eq(artifact.name, '') }}:
|
||||
artifactName: artifacts-$(AgentOsName)-$(BuildConfiguration)
|
||||
${{ if ne(artifact.name, '') }}:
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ variables:
|
|||
jobs:
|
||||
- template: jobs/default-build.yml
|
||||
parameters:
|
||||
jobName: Helix_quarantine_x64
|
||||
jobDisplayName: 'Tests: Helix Quarantine x64'
|
||||
jobName: Helix_quarantined_x64
|
||||
jobDisplayName: 'Tests: Helix'
|
||||
agentOs: Windows
|
||||
timeoutInMinutes: 240
|
||||
timeoutInMinutes: 180
|
||||
steps:
|
||||
# Build the shared framework
|
||||
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||
|
|
@ -46,3 +46,101 @@ jobs:
|
|||
- name: Helix_logs
|
||||
path: artifacts/log/
|
||||
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
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
name: Bug report
|
||||
name: 🐞 Bug report
|
||||
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
|
||||
|
||||
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.
|
||||
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
|
||||
<!--
|
||||
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#
|
||||
Console.WriteLine("Hello, World!");
|
||||
```
|
||||
|
||||
Got Exceptions? Include both the message and the stack trace
|
||||
### Exceptions (if any)
|
||||
<!--
|
||||
Include the exception you get when facing this issue
|
||||
-->
|
||||
|
||||
### Further technical details
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
name: Feature request
|
||||
name: 💡 Feature request
|
||||
about: Suggest an idea for this project
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"recommendations": [
|
||||
"ms-vscode.csharp",
|
||||
"ms-dotnettools.csharp",
|
||||
"ms-vscode.PowerShell",
|
||||
"EditorConfig.EditorConfig"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -36,6 +36,42 @@
|
|||
<!-- Workaround issue with ComponentsAnalyzer throwing for interfaces -->
|
||||
<DisableImplicitComponentsAnalyzers>true</DisableImplicitComponentsAnalyzers>
|
||||
</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="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
||||
|
|
|
|||
|
|
@ -5,6 +5,17 @@
|
|||
<!-- Analyzer package are needed in source build for WebSDK -->
|
||||
<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 Label="Resx settings">
|
||||
|
|
|
|||
59
build.ps1
59
build.ps1
|
|
@ -54,7 +54,8 @@ You can also use -NoBuildManaged to suppress this project type.
|
|||
|
||||
.PARAMETER BuildNative
|
||||
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
|
||||
Build NodeJS projects (TypeScript, JS).
|
||||
|
|
@ -89,8 +90,21 @@ Key for feed that can be used when downloading .NET runtimes
|
|||
.EXAMPLE
|
||||
Building both native and managed projects.
|
||||
|
||||
build.ps1
|
||||
|
||||
or
|
||||
|
||||
build.ps1 -BuildManaged
|
||||
|
||||
or
|
||||
|
||||
build.ps1 -BuildManaged -BuildNative
|
||||
|
||||
.EXAMPLE
|
||||
Build only native projects.
|
||||
|
||||
build.ps1 -BuildNative
|
||||
|
||||
.EXAMPLE
|
||||
Building a subfolder of code.
|
||||
|
||||
|
|
@ -146,10 +160,6 @@ param(
|
|||
|
||||
[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
|
||||
[Alias('bl')]
|
||||
[switch]$BinaryLog,
|
||||
|
|
@ -191,15 +201,12 @@ if ($Projects) {
|
|||
{
|
||||
$Projects = Join-Path (Get-Location) $Projects
|
||||
}
|
||||
$MSBuildArguments += "/p:ProjectToBuild=$Projects"
|
||||
}
|
||||
# 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)) {
|
||||
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."
|
||||
|
||||
# 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
|
||||
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."
|
||||
|
||||
# The goal of this is to pick a sensible default for `build.cmd` with zero arguments.
|
||||
$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.
|
||||
[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 ($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 ($BuildNative) { $MSBuildArguments += "/p:BuildNative=true"}
|
||||
|
||||
|
|
@ -276,12 +294,13 @@ if ($NoBuildNodeJS) { $dotnetBuildArguments += "/p:BuildNodeJS=false"; $BuildNod
|
|||
if ($BuildNodeJS) { $dotnetBuildArguments += "/p:BuildNodeJS=true" }
|
||||
|
||||
# Don't bother with two builds if just one will build everything. Ignore super-weird cases like
|
||||
# "-Projects ... -NoBuildJava -NoBuildManaged -NoBuildNodeJS".
|
||||
$ForceCoreMsbuild = $ForceCoreMsbuild -or -not ($BuildInstallers -or $BuildNative) -or `
|
||||
$Architecture.StartsWith("arm", [System.StringComparison]::OrdinalIgnoreCase)
|
||||
$performDotnetBuild = $ForceCoreMsbuild -or $BuildJava -or $BuildManaged -or $BuildNodeJS -or `
|
||||
# "-Projects ... -NoBuildJava -NoBuildManaged -NoBuildNodeJS". An empty `./build.ps1` command will build both
|
||||
# managed and native projects.
|
||||
$performDesktopBuild = ($BuildInstallers -or $BuildNative) -and `
|
||||
-not $Architecture.StartsWith("arm", [System.StringComparison]::OrdinalIgnoreCase)
|
||||
$performDotnetBuild = $BuildJava -or $BuildManaged -or $BuildNodeJS -or `
|
||||
($All -and -not ($NoBuildJava -and $NoBuildManaged -and $NoBuildNodeJS)) -or `
|
||||
($Projects -and -not ($BuildInstallers -or $BuildNative))
|
||||
($Projects -and -not ($BuildInstallers -or $specifiedBuildNative))
|
||||
|
||||
$foundJdk = $false
|
||||
$javac = Get-Command javac -ErrorAction Ignore -CommandType Application
|
||||
|
|
@ -378,11 +397,11 @@ if ($BinaryLog) {
|
|||
$ToolsetBuildArguments += "/bl:" + (Join-Path $LogDir "Build.repotasks.binlog")
|
||||
} else {
|
||||
# Use a different binary log path when running desktop msbuild if doing both builds.
|
||||
if (-not $ForceCoreMsbuild -and $performDotnetBuild) {
|
||||
$MSBuildArguments += [System.IO.Path]::ChangeExtension($bl, "native.binlog")
|
||||
if ($performDesktopBuild -and $performDotnetBuild) {
|
||||
$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) {
|
||||
# Ensure the artifacts/log directory isn't empty to avoid warnings.
|
||||
|
|
@ -421,7 +440,7 @@ try {
|
|||
@ToolsetBuildArguments
|
||||
}
|
||||
|
||||
if (-not $ForceCoreMsbuild) {
|
||||
if ($performDesktopBuild) {
|
||||
Write-Host
|
||||
Remove-Item variable:global:_BuildTool -ErrorAction Ignore
|
||||
$msbuildEngine = 'vs'
|
||||
|
|
|
|||
|
|
@ -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
|
||||
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:
|
||||
|
||||
```
|
||||
``` powershell
|
||||
.\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.
|
||||
|
||||
|
||||
## 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:
|
||||
```
|
||||
|
||||
``` 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: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.
|
||||
|
|
@ -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.
|
||||
|
||||
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?
|
||||
|
||||
You can simulate how most tests run locally:
|
||||
```
|
||||
|
||||
``` powershell
|
||||
dotnet publish
|
||||
cd <the publish directory>
|
||||
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.
|
||||
|
||||
## 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.
|
||||
|
||||
This can be accomplished by using the `HelixContent` property like so.
|
||||
|
||||
```
|
||||
``` msbuild
|
||||
<ItemGroup>
|
||||
<HelixContent Include="$(RepoRoot)src\KeepMe.js"/>
|
||||
<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.
|
||||
|
||||
```
|
||||
``` msbuild
|
||||
<ItemGroup>
|
||||
<HelixContent Include="$(RepoRoot)src\KeepMe.js" Link="$(MSBuildThisFileDirectory)\myassets\KeepMe.js"/>
|
||||
<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
|
||||
|
||||
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 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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||

|
||||
|
|
@ -1,12 +1,10 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(GenerateChecksums)' == 'true'" />
|
||||
|
||||
<PropertyGroup Condition="'$(GenerateChecksums)' == 'true'">
|
||||
<!-- 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>
|
||||
<!-- $(InstallersOutputPath) is not defined. Root Directory.Build.props is not imported. -->
|
||||
<InstallersOutputPath>$(ArtifactsDir)\installers\</InstallersOutputPath>
|
||||
<_SuppressSdkImports>false</_SuppressSdkImports>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PopulateGenerateChecksumItems"
|
||||
|
|
|
|||
|
|
@ -150,45 +150,6 @@
|
|||
<ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AzureAppServicesIntegration' AND '$(TargetFramework)' == 'netcoreapp3.1' ">
|
||||
<BaselinePackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="[3.1.4, )" />
|
||||
</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-->
|
||||
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Components' ">
|
||||
<BaselinePackageVersion>3.1.4</BaselinePackageVersion>
|
||||
|
|
|
|||
|
|
@ -26,12 +26,6 @@ Update this list when preparing for a new patch.
|
|||
<Package Id="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Version="3.1.4" />
|
||||
<Package Id="Microsoft.AspNetCore.AzureAppServices.SiteExtension" Version="3.1.4" />
|
||||
<Package Id="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="3.1.4" />
|
||||
<Package Id="Microsoft.AspNetCore.Blazor" Version="3.2.0-preview1.20073.1" />
|
||||
<Package Id="Microsoft.AspNetCore.Blazor.Build" Version="3.2.0-preview1.20073.1" />
|
||||
<Package Id="Microsoft.AspNetCore.Blazor.DevServer" Version="3.2.0-preview1.20073.1" />
|
||||
<Package Id="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview1.20073.1" />
|
||||
<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" />
|
||||
|
|
|
|||
|
|
@ -13,296 +13,296 @@
|
|||
<Uri>https://github.com/dotnet/blazor</Uri>
|
||||
<Sha>cc449601d638ffaab58ae9487f0fd010bb178a12</Sha>
|
||||
</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>
|
||||
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha>
|
||||
<Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
|
||||
</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>
|
||||
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha>
|
||||
<Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
|
||||
</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>
|
||||
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha>
|
||||
<Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
|
||||
</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>
|
||||
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha>
|
||||
<Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
|
||||
</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>
|
||||
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha>
|
||||
<Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
|
||||
</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>
|
||||
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha>
|
||||
<Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
|
||||
</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>
|
||||
<Sha>81f9ddbb6cd84bd0c519b31c08ae88f9ff5e0cf0</Sha>
|
||||
<Sha>6eca5305d445e764ab775d07cf4e2aa4af0221ab</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</Dependency>
|
||||
<!--
|
||||
Win-x64 is used here because we have picked an arbitrary runtime identifier to flow the version of the latest NETCore.App runtime.
|
||||
All Runtime.$rid packages should have the same version.
|
||||
-->
|
||||
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="5.0.0-preview.6.20305.6">
|
||||
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="5.0.0-preview.7.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</Dependency>
|
||||
</ProductDependencies>
|
||||
<ToolsetDependencies>
|
||||
<!-- 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.20308.8">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>4ba9ecaabd4d5c87c776a030eafdac0bae0512cf</Sha>
|
||||
<Sha>80553e8d49479b775409dd70803b541c81cc39d9</Sha>
|
||||
</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>
|
||||
<Sha>96c65ad967d2abbbd8e770ba752a6b64255ec669</Sha>
|
||||
<Sha>fef373440d604c428950236fbc2b99ce0df368a9</Sha>
|
||||
</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>
|
||||
<Sha>96c65ad967d2abbbd8e770ba752a6b64255ec669</Sha>
|
||||
<Sha>fef373440d604c428950236fbc2b99ce0df368a9</Sha>
|
||||
</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>
|
||||
<Sha>96c65ad967d2abbbd8e770ba752a6b64255ec669</Sha>
|
||||
<Sha>fef373440d604c428950236fbc2b99ce0df368a9</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.7.0-3.20271.4">
|
||||
<Uri>https://github.com/dotnet/roslyn</Uri>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<AspNetCoreMajorVersion>5</AspNetCoreMajorVersion>
|
||||
<AspNetCoreMinorVersion>0</AspNetCoreMinorVersion>
|
||||
<AspNetCorePatchVersion>0</AspNetCorePatchVersion>
|
||||
<PreReleaseVersionIteration>6</PreReleaseVersionIteration>
|
||||
<PreReleaseVersionIteration>7</PreReleaseVersionIteration>
|
||||
<!--
|
||||
When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages
|
||||
-->
|
||||
|
|
@ -62,82 +62,82 @@
|
|||
-->
|
||||
<PropertyGroup Label="Automated">
|
||||
<!-- Packages from dotnet/arcade -->
|
||||
<MicrosoftDotNetGenAPIPackageVersion>5.0.0-beta.20278.4</MicrosoftDotNetGenAPIPackageVersion>
|
||||
<MicrosoftDotNetGenAPIPackageVersion>5.0.0-beta.20280.1</MicrosoftDotNetGenAPIPackageVersion>
|
||||
<!-- Packages from dotnet/roslyn -->
|
||||
<MicrosoftNetCompilersToolsetPackageVersion>3.7.0-3.20271.4</MicrosoftNetCompilersToolsetPackageVersion>
|
||||
<!-- Packages from dotnet/runtime -->
|
||||
<MicrosoftExtensionsDependencyModelPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsDependencyModelPackageVersion>
|
||||
<MicrosoftNETCoreAppInternalPackageVersion>5.0.0-preview.6.20305.6</MicrosoftNETCoreAppInternalPackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>5.0.0-preview.6.20305.6</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.0-preview.6.20305.6</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftWin32RegistryPackageVersion>5.0.0-preview.6.20305.6</MicrosoftWin32RegistryPackageVersion>
|
||||
<MicrosoftWin32SystemEventsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftWin32SystemEventsPackageVersion>
|
||||
<MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsCachingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsCachingMemoryPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsCachingMemoryPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationBinderPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationBinderPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
|
||||
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationIniPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationIniPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationJsonPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationJsonPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationXmlPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsConfigurationXmlPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsDependencyInjectionPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersCompositePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsFileProvidersCompositePackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
|
||||
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
|
||||
<MicrosoftExtensionsHostingAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsHostingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsHostingPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsHostingPackageVersion>
|
||||
<MicrosoftExtensionsHttpPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsHttpPackageVersion>
|
||||
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConfigurationPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConsolePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingConsolePackageVersion>
|
||||
<MicrosoftExtensionsLoggingDebugPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingDebugPackageVersion>
|
||||
<MicrosoftExtensionsLoggingEventSourcePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingEventSourcePackageVersion>
|
||||
<MicrosoftExtensionsLoggingEventLogPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingEventLogPackageVersion>
|
||||
<MicrosoftExtensionsLoggingPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingPackageVersion>
|
||||
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
|
||||
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
|
||||
<MicrosoftExtensionsOptionsPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsOptionsPackageVersion>
|
||||
<MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsPrimitivesPackageVersion>
|
||||
<MicrosoftExtensionsInternalTransportPackageVersion>5.0.0-preview.6.20305.6</MicrosoftExtensionsInternalTransportPackageVersion>
|
||||
<SystemComponentModelAnnotationsPackageVersion>5.0.0-preview.6.20305.6</SystemComponentModelAnnotationsPackageVersion>
|
||||
<SystemDiagnosticsDiagnosticSourcePackageVersion>5.0.0-preview.6.20305.6</SystemDiagnosticsDiagnosticSourcePackageVersion>
|
||||
<SystemDiagnosticsEventLogPackageVersion>5.0.0-preview.6.20305.6</SystemDiagnosticsEventLogPackageVersion>
|
||||
<SystemDrawingCommonPackageVersion>5.0.0-preview.6.20305.6</SystemDrawingCommonPackageVersion>
|
||||
<SystemIOPipelinesPackageVersion>5.0.0-preview.6.20305.6</SystemIOPipelinesPackageVersion>
|
||||
<SystemNetHttpJsonPackageVersion>5.0.0-preview.6.20305.6</SystemNetHttpJsonPackageVersion>
|
||||
<SystemNetHttpWinHttpHandlerPackageVersion>5.0.0-preview.6.20305.6</SystemNetHttpWinHttpHandlerPackageVersion>
|
||||
<SystemNetWebSocketsWebSocketProtocolPackageVersion>5.0.0-preview.6.20305.6</SystemNetWebSocketsWebSocketProtocolPackageVersion>
|
||||
<SystemReflectionMetadataPackageVersion>5.0.0-preview.6.20305.6</SystemReflectionMetadataPackageVersion>
|
||||
<SystemRuntimeCompilerServicesUnsafePackageVersion>5.0.0-preview.6.20305.6</SystemRuntimeCompilerServicesUnsafePackageVersion>
|
||||
<SystemSecurityCryptographyCngPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityCryptographyCngPackageVersion>
|
||||
<SystemSecurityCryptographyPkcsPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityCryptographyPkcsPackageVersion>
|
||||
<SystemSecurityCryptographyXmlPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityCryptographyXmlPackageVersion>
|
||||
<SystemSecurityPermissionsPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityPermissionsPackageVersion>
|
||||
<SystemSecurityPrincipalWindowsPackageVersion>5.0.0-preview.6.20305.6</SystemSecurityPrincipalWindowsPackageVersion>
|
||||
<SystemServiceProcessServiceControllerPackageVersion>5.0.0-preview.6.20305.6</SystemServiceProcessServiceControllerPackageVersion>
|
||||
<SystemTextEncodingsWebPackageVersion>5.0.0-preview.6.20305.6</SystemTextEncodingsWebPackageVersion>
|
||||
<SystemTextJsonPackageVersion>5.0.0-preview.6.20305.6</SystemTextJsonPackageVersion>
|
||||
<SystemThreadingChannelsPackageVersion>5.0.0-preview.6.20305.6</SystemThreadingChannelsPackageVersion>
|
||||
<SystemWindowsExtensionsPackageVersion>5.0.0-preview.6.20305.6</SystemWindowsExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyModelPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsDependencyModelPackageVersion>
|
||||
<MicrosoftNETCoreAppInternalPackageVersion>5.0.0-preview.7.20308.8</MicrosoftNETCoreAppInternalPackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>5.0.0-preview.7.20308.8</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.0-preview.7.20308.8</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftWin32RegistryPackageVersion>5.0.0-preview.7.20308.8</MicrosoftWin32RegistryPackageVersion>
|
||||
<MicrosoftWin32SystemEventsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftWin32SystemEventsPackageVersion>
|
||||
<MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsCachingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsCachingMemoryPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsCachingMemoryPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationBinderPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationBinderPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
|
||||
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationIniPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationIniPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationJsonPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationJsonPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationXmlPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsConfigurationXmlPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsDependencyInjectionPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersCompositePackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsFileProvidersCompositePackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
|
||||
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
|
||||
<MicrosoftExtensionsHostingAbstractionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsHostingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsHostingPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsHostingPackageVersion>
|
||||
<MicrosoftExtensionsHttpPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsHttpPackageVersion>
|
||||
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConfigurationPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsLoggingConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConsolePackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsLoggingConsolePackageVersion>
|
||||
<MicrosoftExtensionsLoggingDebugPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsLoggingDebugPackageVersion>
|
||||
<MicrosoftExtensionsLoggingEventSourcePackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsLoggingEventSourcePackageVersion>
|
||||
<MicrosoftExtensionsLoggingEventLogPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsLoggingEventLogPackageVersion>
|
||||
<MicrosoftExtensionsLoggingPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsLoggingPackageVersion>
|
||||
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
|
||||
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
|
||||
<MicrosoftExtensionsOptionsPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsOptionsPackageVersion>
|
||||
<MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsPrimitivesPackageVersion>
|
||||
<MicrosoftExtensionsInternalTransportPackageVersion>5.0.0-preview.7.20308.8</MicrosoftExtensionsInternalTransportPackageVersion>
|
||||
<SystemComponentModelAnnotationsPackageVersion>5.0.0-preview.7.20308.8</SystemComponentModelAnnotationsPackageVersion>
|
||||
<SystemDiagnosticsDiagnosticSourcePackageVersion>5.0.0-preview.7.20308.8</SystemDiagnosticsDiagnosticSourcePackageVersion>
|
||||
<SystemDiagnosticsEventLogPackageVersion>5.0.0-preview.7.20308.8</SystemDiagnosticsEventLogPackageVersion>
|
||||
<SystemDrawingCommonPackageVersion>5.0.0-preview.7.20308.8</SystemDrawingCommonPackageVersion>
|
||||
<SystemIOPipelinesPackageVersion>5.0.0-preview.7.20308.8</SystemIOPipelinesPackageVersion>
|
||||
<SystemNetHttpJsonPackageVersion>5.0.0-preview.7.20308.8</SystemNetHttpJsonPackageVersion>
|
||||
<SystemNetHttpWinHttpHandlerPackageVersion>5.0.0-preview.7.20308.8</SystemNetHttpWinHttpHandlerPackageVersion>
|
||||
<SystemNetWebSocketsWebSocketProtocolPackageVersion>5.0.0-preview.7.20308.8</SystemNetWebSocketsWebSocketProtocolPackageVersion>
|
||||
<SystemReflectionMetadataPackageVersion>5.0.0-preview.7.20308.8</SystemReflectionMetadataPackageVersion>
|
||||
<SystemRuntimeCompilerServicesUnsafePackageVersion>5.0.0-preview.7.20308.8</SystemRuntimeCompilerServicesUnsafePackageVersion>
|
||||
<SystemSecurityCryptographyCngPackageVersion>5.0.0-preview.7.20308.8</SystemSecurityCryptographyCngPackageVersion>
|
||||
<SystemSecurityCryptographyPkcsPackageVersion>5.0.0-preview.7.20308.8</SystemSecurityCryptographyPkcsPackageVersion>
|
||||
<SystemSecurityCryptographyXmlPackageVersion>5.0.0-preview.7.20308.8</SystemSecurityCryptographyXmlPackageVersion>
|
||||
<SystemSecurityPermissionsPackageVersion>5.0.0-preview.7.20308.8</SystemSecurityPermissionsPackageVersion>
|
||||
<SystemSecurityPrincipalWindowsPackageVersion>5.0.0-preview.7.20308.8</SystemSecurityPrincipalWindowsPackageVersion>
|
||||
<SystemServiceProcessServiceControllerPackageVersion>5.0.0-preview.7.20308.8</SystemServiceProcessServiceControllerPackageVersion>
|
||||
<SystemTextEncodingsWebPackageVersion>5.0.0-preview.7.20308.8</SystemTextEncodingsWebPackageVersion>
|
||||
<SystemTextJsonPackageVersion>5.0.0-preview.7.20308.8</SystemTextJsonPackageVersion>
|
||||
<SystemThreadingChannelsPackageVersion>5.0.0-preview.7.20308.8</SystemThreadingChannelsPackageVersion>
|
||||
<SystemWindowsExtensionsPackageVersion>5.0.0-preview.7.20308.8</SystemWindowsExtensionsPackageVersion>
|
||||
<!-- 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.20308.8</MicrosoftNETCorePlatformsPackageVersion>
|
||||
<!-- Packages from dotnet/blazor -->
|
||||
<MicrosoftAspNetCoreComponentsWebAssemblyRuntimePackageVersion>3.2.0</MicrosoftAspNetCoreComponentsWebAssemblyRuntimePackageVersion>
|
||||
<!-- Packages from dotnet/efcore -->
|
||||
<dotnetefPackageVersion>5.0.0-preview.6.20309.6</dotnetefPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCoreToolsPackageVersion>
|
||||
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-preview.6.20309.6</MicrosoftEntityFrameworkCorePackageVersion>
|
||||
<dotnetefPackageVersion>5.0.0-preview.7.20309.4</dotnetefPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCoreToolsPackageVersion>
|
||||
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-preview.7.20309.4</MicrosoftEntityFrameworkCorePackageVersion>
|
||||
</PropertyGroup>
|
||||
<!--
|
||||
|
||||
|
|
|
|||
|
|
@ -65,8 +65,13 @@ try {
|
|||
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
|
||||
$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"
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -293,8 +293,11 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
|||
return $global:_MSBuildExe
|
||||
}
|
||||
|
||||
$vsMinVersionReqdStr = '16.5'
|
||||
$vsMinVersionReqd = [Version]::new($vsMinVersionReqdStr)
|
||||
|
||||
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)
|
||||
|
||||
# Try msbuild command available in the environment.
|
||||
|
|
@ -327,8 +330,18 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
|||
$xcopyMSBuildVersion = $GlobalJson.tools.'xcopy-msbuild'
|
||||
$vsMajorVersion = $xcopyMSBuildVersion.Split('.')[0]
|
||||
} else {
|
||||
$vsMajorVersion = $vsMinVersion.Major
|
||||
$xcopyMSBuildVersion = "$vsMajorVersion.$($vsMinVersion.Minor).0-alpha"
|
||||
#if vs version provided in global.json is incompatible then use the default version for xcopy msbuild download
|
||||
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
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ namespace RunTests
|
|||
|
||||
// Filter syntax: https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md
|
||||
var result = await ProcessUtil.RunAsync($"{Options.DotnetRoot}/dotnet",
|
||||
commonTestArgs + " --TestCaseFilter:\"Quarantined!=true\"",
|
||||
commonTestArgs + " --TestCaseFilter:\"Quarantined!=true|Quarantined=false\"",
|
||||
environmentVariables: EnvironmentVariables,
|
||||
outputDataReceived: Console.WriteLine,
|
||||
errorDataReceived: Console.Error.WriteLine,
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
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
|
||||
|
|
|
|||
|
|
@ -20,9 +20,13 @@
|
|||
<HelixBuild>private-$(USERNAME)</HelixBuild>
|
||||
<HelixBuild Condition=" '$(USERNAME)' == '' ">private-$(USER)</HelixBuild>
|
||||
<IsExternal>true</IsExternal>
|
||||
<SkipInvalidConfigurations>true</SkipInvalidConfigurations>
|
||||
<MaxRetryCount Condition="'$(MaxRetryCount)' == ''">2</MaxRetryCount>
|
||||
<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 Condition=" '$(ContinuousIntegrationBuild)' == 'true' ">
|
||||
|
|
|
|||
|
|
@ -10,9 +10,6 @@ try {
|
|||
& "$repoRoot\build.ps1" -ci:$ci -nobl -noBuildRepoTasks -noRestore -buildNative -configuration Debug
|
||||
|
||||
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
|
||||
$msbuildEngine = 'dotnet'
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
<Reference Include="Microsoft.AspNetCore.Testing" />
|
||||
<Reference Include="Moq" />
|
||||
<Reference Include="NETStandard.Library" />
|
||||
<Compile Include="$(SharedSourceRoot)test\SuccessfulTests.cs" LinkBase="SharedTests" />
|
||||
</ItemGroup>
|
||||
|
||||
<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'" />
|
||||
|
||||
<!-- 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>
|
||||
|
|
|
|||
|
|
@ -28,6 +28,23 @@
|
|||
</ItemGroup>
|
||||
</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="ResolveReferences.targets" />
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
<HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" />
|
||||
<HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" />
|
||||
<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="Debian.8.Amd64.Open" Platform="Linux" />
|
||||
<HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" />
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
<Target Name="Restore">
|
||||
<Telemetry EventName="NETCORE_ENGINEERING_TELEMETRY" EventData="Category=Restore" />
|
||||
<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 Name="PrepareForBuild">
|
||||
|
|
|
|||
|
|
@ -26,11 +26,12 @@
|
|||
<_TargetFrameworkOverride />
|
||||
<_TargetFrameworkOverride
|
||||
Condition=" @(_ResultTargetFramework->Count()) > 1 ">%0A <TargetFrameworks Condition="'%24(DotNetBuildFromSource)' == 'true'">%24(DefaultNetCoreTargetFramework)</TargetFrameworks></_TargetFrameworkOverride>
|
||||
<_NullableProperty Condition="'$(Nullable)' != ''">%0A <Nullable>annotations</Nullable></_NullableProperty>
|
||||
<ProjectListContentLines><![CDATA[
|
||||
<!-- This file is automatically generated. -->
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>@(_ResultTargetFramework)</TargetFrameworks>$(_TargetFrameworkOverride)
|
||||
<TargetFrameworks>@(_ResultTargetFramework)</TargetFrameworks>$(_TargetFrameworkOverride)$(_NullableProperty)
|
||||
</PropertyGroup>
|
||||
@(ProjectListContentItem->'%(Identity)', '%0A')
|
||||
</Project>
|
||||
|
|
|
|||
11
global.json
11
global.json
|
|
@ -6,17 +6,14 @@
|
|||
"dotnet": "5.0.100-preview.6.20266.3",
|
||||
"runtimes": {
|
||||
"dotnet/x64": [
|
||||
"2.1.11",
|
||||
"2.1.18",
|
||||
"$(MicrosoftNETCoreAppInternalPackageVersion)"
|
||||
],
|
||||
"dotnet/x86": [
|
||||
"$(MicrosoftNETCoreAppInternalPackageVersion)"
|
||||
],
|
||||
"aspnetcore/x64": [
|
||||
"3.1.0"
|
||||
],
|
||||
"aspnetcore/x86": [
|
||||
"3.1.0"
|
||||
"3.1.4"
|
||||
]
|
||||
},
|
||||
"Git": "2.22.0",
|
||||
|
|
@ -33,7 +30,7 @@
|
|||
},
|
||||
"msbuild-sdks": {
|
||||
"Yarn.MSBuild": "1.15.2",
|
||||
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20278.4",
|
||||
"Microsoft.DotNet.Helix.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.20280.1"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
<Content Include="TestFiles\**\*.*" CopyToOutputDirectory="PreserveNewest" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ namespace A.Internal.Namespace
|
|||
|
||||
[Theory]
|
||||
[MemberData(nameof(PublicMemberDefinitions))]
|
||||
[QuarantinedTest]
|
||||
public async Task PublicExposureOfPubternalTypeProducesPUB0001(string member)
|
||||
{
|
||||
var code = GetSourceFromNamespaceDeclaration($@"
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
<Content Include="TestFiles\**\*.*" CopyToPublishDirectory="PreserveNewest" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -537,8 +537,8 @@ namespace Microsoft.AspNetCore.Components
|
|||
return ConvertToNullableBoolCore(obj, culture, out value);
|
||||
}
|
||||
|
||||
internal static BindParser<bool> ConvertToBool = ConvertToBoolCore;
|
||||
internal static BindParser<bool?> ConvertToNullableBool = ConvertToNullableBoolCore;
|
||||
internal readonly static BindParser<bool> ConvertToBool = ConvertToBoolCore;
|
||||
internal readonly static BindParser<bool?> ConvertToNullableBool = ConvertToNullableBoolCore;
|
||||
|
||||
private static bool ConvertToBoolCore(object obj, CultureInfo culture, out bool value)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -11,5 +11,7 @@ namespace Ignitor
|
|||
{
|
||||
_componentId = componentId;
|
||||
}
|
||||
|
||||
public int ComponentId => _componentId;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,16 @@
|
|||
|
||||
#nullable enable
|
||||
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Ignitor
|
||||
{
|
||||
[DebuggerDisplay("{SerializedValue}")]
|
||||
public abstract class Node
|
||||
{
|
||||
public virtual ContainerNode? Parent { get; set; }
|
||||
|
||||
public string SerializedValue => NodeSerializer.Serialize(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
#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 readonly TextWriter _writer;
|
||||
private int _depth;
|
||||
private bool _atStartOfLine;
|
||||
private HashSet<Node> _visited = new HashSet<Node>();
|
||||
|
||||
public Serializer(TextWriter writer)
|
||||
{
|
||||
|
|
@ -35,14 +47,25 @@ namespace Ignitor
|
|||
{
|
||||
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)
|
||||
{
|
||||
case ComponentNode componentNode:
|
||||
{
|
||||
SerializeComponent(componentNode);
|
||||
break;
|
||||
}
|
||||
case ElementNode elementNode:
|
||||
{
|
||||
SerializeElement(elementNode);
|
||||
|
|
@ -155,10 +178,10 @@ namespace Ignitor
|
|||
}
|
||||
}
|
||||
|
||||
private void SerializeComponent(int id, ComponentNode component)
|
||||
private void SerializeComponent(ComponentNode component)
|
||||
{
|
||||
Write("[Component ( ");
|
||||
Write(id.ToString());
|
||||
Write(component.ComponentId.ToString());
|
||||
WriteLine(" )]");
|
||||
_depth++;
|
||||
SerializeChildren(component);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,12 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference
|
||||
Include="..\..\JSInterop\Microsoft.JSInterop.JS\src\Microsoft.JSInterop.JS.npmproj"
|
||||
ReferenceOutputAssemblies="false"
|
||||
SkipGetTargetFrameworkProperties="true"
|
||||
UndefineProperties="TargetFramework"
|
||||
Private="false" />
|
||||
<ProjectReference
|
||||
Include="..\..\SignalR\clients\ts\signalr\signalr.npmproj"
|
||||
ReferenceOutputAssemblies="false"
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -16,7 +16,7 @@
|
|||
"devDependencies": {
|
||||
"@microsoft/signalr": "link:../../SignalR/clients/ts/signalr",
|
||||
"@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/jest": "^24.9.1",
|
||||
"@types/jsdom": "11.0.6",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import '@microsoft/dotnet-js-interop';
|
||||
import { DotNet } from '@microsoft/dotnet-js-interop';
|
||||
import './GlobalExports';
|
||||
import * as signalR from '@microsoft/signalr';
|
||||
import { MessagePackHubProtocol } from '@microsoft/signalr-protocol-msgpack';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import '@microsoft/dotnet-js-interop';
|
||||
import { DotNet } from '@microsoft/dotnet-js-interop';
|
||||
import './GlobalExports';
|
||||
import * as Environment from './Environment';
|
||||
import { monoPlatform } from './Platform/Mono/MonoPlatform';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import { DotNet } from '@microsoft/dotnet-js-interop';
|
||||
import { attachDebuggerHotkey, hasDebuggingEnabled } from './MonoDebugger';
|
||||
import { showErrorNotification } from '../../BootErrors';
|
||||
import { WebAssemblyResourceLoader, LoadingResource } from '../WebAssemblyResourceLoader';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import { DotNet } from '@microsoft/dotnet-js-interop';
|
||||
|
||||
export function applyCaptureIdToElement(element: Element, referenceCaptureId: string) {
|
||||
element.setAttribute(getCaptureIdAttributeName(referenceCaptureId), '');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -345,9 +345,9 @@
|
|||
"@types/istanbul-reports" "^1.1.1"
|
||||
"@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":
|
||||
version "5.0.0-alpha1.19572.2"
|
||||
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"
|
||||
"@microsoft/dotnet-js-interop@link:../../JSInterop/Microsoft.JSInterop.JS/src":
|
||||
version "0.0.0"
|
||||
uid ""
|
||||
|
||||
"@microsoft/signalr-protocol-msgpack@link:../../SignalR/clients/ts/signalr-protocol-msgpack":
|
||||
version "0.0.0"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Components.Forms
|
|||
/// </summary>
|
||||
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()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<Sdk Name="Yarn.MSBuild" />
|
||||
|
||||
|
|
@ -58,9 +58,9 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="CompileInterop" Condition="'$(BuildNodeJS)' != 'false' AND '$(DesignTimeBuild)' != 'true'" Inputs="$(InteropCompilationCacheFile)" Outputs="@(YarnOutputs)">
|
||||
<Yarn Command="install --mutex network" WorkingDirectory="$(YarnWorkingDir)" />
|
||||
<Yarn Command="run build:release" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Release'" />
|
||||
<Yarn Command="run build:debug" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Debug'" />
|
||||
<Yarn Command="install --mutex network" WorkingDirectory="$(YarnWorkingDir)" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
|
||||
<Yarn Command="run build:release" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Release'" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
|
||||
<Yarn Command="run build:debug" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Debug'" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
|
||||
|
||||
<ItemGroup>
|
||||
<_InteropBuildOutput Include="$(YarnWorkingDir)dist\$(Configuration)\**" Exclude="$(YarnWorkingDir)dist\.gitignore" />
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<_BlazorToolsDir>$(MSBuildThisFileDirectory)bin\$(BlazorBuildConfiguration)\tools\</_BlazorToolsDir>
|
||||
</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))" />
|
||||
</Target>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
using System.IO;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Testing;
|
||||
using Xunit;
|
||||
using static Microsoft.AspNetCore.Components.WebAssembly.Build.WebAssemblyRuntimePackage;
|
||||
|
||||
|
|
@ -203,6 +204,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Build
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[QuarantinedTest]
|
||||
public async Task Build_SatelliteAssembliesAreCopiedToBuildOutput()
|
||||
{
|
||||
// Arrange
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ using System.Linq;
|
|||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Blazor.Build;
|
||||
using Microsoft.AspNetCore.Testing;
|
||||
using Xunit;
|
||||
using ResourceHashesByNameDictionary = System.Collections.Generic.Dictionary<string, string>;
|
||||
using static Microsoft.AspNetCore.Components.WebAssembly.Build.WebAssemblyRuntimePackage;
|
||||
|
|
@ -284,6 +285,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Build
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[QuarantinedTest]
|
||||
public async Task Publish_HostedApp_WithLinkOnBuildTrue_Works()
|
||||
{
|
||||
// Arrange
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\testassets\StandaloneApp\StandaloneApp.csproj" />
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
<Compile Include="$(SharedSourceRoot)CommandLineUtils\**\*.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using Microsoft.AspNetCore.Testing.xunit;
|
||||
using Microsoft.AspNetCore.Testing;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebAssembly.Build
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<PackageTags>wasm;javascript;interop</PackageTags>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<IsPackable>true</IsPackable>
|
||||
<IsShipping>false</IsShipping>
|
||||
<IsShippingPackage>true</IsShippingPackage>
|
||||
<HasReferenceAssembly>false</HasReferenceAssembly>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
|
|
|||
|
|
@ -59,9 +59,9 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="CompileInterop" Condition="'$(BuildNodeJS)' != 'false' AND '$(DesignTimeBuild)' != 'true'" Inputs="$(InteropCompilationCacheFile)" Outputs="@(YarnOutputs)">
|
||||
<Yarn Command="install --mutex network" WorkingDirectory="$(YarnWorkingDir)" />
|
||||
<Yarn Command="run build:release" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Release'" />
|
||||
<Yarn Command="run build:debug" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Debug'" />
|
||||
<Yarn Command="install --mutex network" WorkingDirectory="$(YarnWorkingDir)" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
|
||||
<Yarn Command="run build:release" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Release'" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
|
||||
<Yarn Command="run build:debug" WorkingDirectory="$(YarnWorkingDir)" Condition="'$(Configuration)' == 'Debug'" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" />
|
||||
|
||||
<ItemGroup>
|
||||
<_InteropBuildOutput Include="$(YarnWorkingDir)dist\$(Configuration)\**" Exclude="$(YarnWorkingDir)dist\.gitignore" />
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Authentication
|
|||
}
|
||||
|
||||
/// <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" />.
|
||||
/// </summary>
|
||||
/// <param name="authorizedUrls">The base addresses of endpoint URLs to which the token will be attached.</param>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
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.
|
||||
|
||||
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)
|
||||
{
|
||||
return _renderers.ContainsKey(rendererId)
|
||||
? _renderers[rendererId]
|
||||
return _renderers != null && _renderers.ContainsKey(rendererId)
|
||||
? _renderers?[rendererId]
|
||||
: throw new ArgumentException($"There is no renderer with ID {rendererId}.");
|
||||
}
|
||||
|
||||
public static int Add(WebAssemblyRenderer renderer)
|
||||
{
|
||||
var id = _nextId++;
|
||||
_renderers.Add(id, renderer);
|
||||
_renderers?.Add(id, renderer);
|
||||
return id;
|
||||
}
|
||||
|
||||
public static bool TryRemove(int rendererId)
|
||||
{
|
||||
if (_renderers.ContainsKey(rendererId))
|
||||
if (_renderers != null && _renderers.ContainsKey(rendererId))
|
||||
{
|
||||
_renderers.Remove(rendererId);
|
||||
_renderers?.Remove(rendererId);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@
|
|||
"blazorwasmbenchmark": {
|
||||
"source": {
|
||||
"repository": "https://github.com/dotnet/AspNetCore.git",
|
||||
"branchOrCommit": "blazor-wasm",
|
||||
"branchOrCommit": "master",
|
||||
"dockerfile": "src/Components/benchmarkapps/Wasm.Performance/dockerfile"
|
||||
},
|
||||
"buildArguments": [
|
||||
"gitBranch=blazor-wasm"
|
||||
"gitBranch=master"
|
||||
],
|
||||
"waitForExit": true,
|
||||
"readyStateText": "Application started."
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ RUN apt-get update \
|
|||
nodejs \
|
||||
git
|
||||
|
||||
ARG gitBranch=blazor-wasm
|
||||
ARG gitBranch=master
|
||||
|
||||
WORKDIR /src
|
||||
ADD https://api.github.com/repos/dotnet/aspnetcore/git/ref/heads/${gitBranch} /aspnetcore.commit
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ using HostedInAspNet.Server;
|
|||
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
|
||||
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
|
||||
using Microsoft.AspNetCore.E2ETesting;
|
||||
using Microsoft.AspNetCore.Testing;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Support.UI;
|
||||
|
|
@ -38,6 +39,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[QuarantinedTest]
|
||||
public void CachesResourcesAfterFirstLoad()
|
||||
{
|
||||
// On the first load, we have to fetch everything
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[QuarantinedTest]
|
||||
public void CanRenderTextOnlyComponent()
|
||||
{
|
||||
var appElement = Browser.MountTestComponent<TextOnlyComponent>();
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
<ItemGroup>
|
||||
<Compile Include="..\..\shared\test\*.cs" />
|
||||
<Content Include="TestFiles\**\*" CopyToOutputDirectory="PreserveNewest" />
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
|
||||
<Compile Include="$(SharedSourceRoot)EventSource.Testing\TestEventListener.cs" />
|
||||
<Compile Include="$(SharedSourceRoot)EventSource.Testing\TestCounterListener.cs" />
|
||||
<Content Include="testroot\**\*" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" />
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
||||
<Nullable>annotations</Nullable>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'">
|
||||
<Compile Include="Microsoft.AspNetCore.Html.Abstractions.netcoreapp.cs" />
|
||||
|
|
|
|||
|
|
@ -3,15 +3,16 @@
|
|||
|
||||
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 HtmlContentBuilder() { }
|
||||
public HtmlContentBuilder(System.Collections.Generic.IList<object> entries) { }
|
||||
public HtmlContentBuilder(int capacity) { }
|
||||
public int Count { get { 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(string encoded) { 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(string? encoded) { throw null; }
|
||||
public Microsoft.AspNetCore.Html.IHtmlContentBuilder Clear() { throw null; }
|
||||
public void CopyTo(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()}")]
|
||||
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 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 NewLine;
|
||||
public HtmlString(string value) { }
|
||||
public string Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||
public HtmlString(string? value) { }
|
||||
public string? Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||
public override string ToString() { throw null; }
|
||||
public void WriteTo(System.IO.TextWriter writer, System.Text.Encodings.Web.HtmlEncoder encoder) { }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Text.Encodings.Web;
|
||||
|
||||
|
|
@ -11,6 +12,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
/// <summary>
|
||||
/// An <see cref="IHtmlContentBuilder"/> implementation using an in memory list.
|
||||
/// </summary>
|
||||
[DebuggerDisplay("{DebuggerToString()}")]
|
||||
public class HtmlContentBuilder : IHtmlContentBuilder
|
||||
{
|
||||
/// <summary>
|
||||
|
|
@ -61,7 +63,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
internal IList<object> Entries { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IHtmlContentBuilder Append(string unencoded)
|
||||
public IHtmlContentBuilder Append(string? unencoded)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(unencoded))
|
||||
{
|
||||
|
|
@ -72,7 +74,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public IHtmlContentBuilder AppendHtml(IHtmlContent htmlContent)
|
||||
public IHtmlContentBuilder AppendHtml(IHtmlContent? htmlContent)
|
||||
{
|
||||
if (htmlContent == null)
|
||||
{
|
||||
|
|
@ -84,7 +86,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public IHtmlContentBuilder AppendHtml(string encoded)
|
||||
public IHtmlContentBuilder AppendHtml(string? encoded)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(encoded))
|
||||
{
|
||||
|
|
@ -113,13 +115,11 @@ namespace Microsoft.AspNetCore.Html
|
|||
{
|
||||
var entry = Entries[i];
|
||||
|
||||
string entryAsString;
|
||||
IHtmlContentContainer entryAsContainer;
|
||||
if ((entryAsString = entry as string) != null)
|
||||
if (entry is string 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.
|
||||
entryAsContainer.CopyTo(destination);
|
||||
|
|
@ -144,13 +144,11 @@ namespace Microsoft.AspNetCore.Html
|
|||
{
|
||||
var entry = Entries[i];
|
||||
|
||||
string entryAsString;
|
||||
IHtmlContentContainer entryAsContainer;
|
||||
if ((entryAsString = entry as string) != null)
|
||||
if (entry is string 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.
|
||||
entryAsContainer.MoveTo(destination);
|
||||
|
|
@ -197,11 +195,9 @@ namespace Microsoft.AspNetCore.Html
|
|||
|
||||
private string DebuggerToString()
|
||||
{
|
||||
using (var writer = new StringWriter())
|
||||
{
|
||||
WriteTo(writer, HtmlEncoder.Default);
|
||||
return writer.ToString();
|
||||
}
|
||||
using var writer = new StringWriter();
|
||||
WriteTo(writer, HtmlEncoder.Default);
|
||||
return writer.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
|
|
@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
/// <param name="formatProvider">An object that provides culture-specific formatting information.</param>
|
||||
/// <param name="format">A composite format string.</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)
|
||||
{
|
||||
|
|
@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
private readonly HtmlEncoder _encoder;
|
||||
private readonly IFormatProvider _formatProvider;
|
||||
|
||||
private StringWriter _writer;
|
||||
private StringWriter? _writer;
|
||||
|
||||
public EncodingFormatProvider(IFormatProvider formatProvider, HtmlEncoder encoder)
|
||||
{
|
||||
|
|
@ -105,7 +105,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
_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
|
||||
// to do the right thing with encoding.
|
||||
|
|
@ -118,7 +118,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
var htmlContent = arg as IHtmlContent;
|
||||
if (htmlContent != null)
|
||||
{
|
||||
_writer = _writer ?? new StringWriter();
|
||||
_writer ??= new StringWriter();
|
||||
|
||||
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
|
||||
// that ICustomFormatter will be null.
|
||||
var customFormatter = (ICustomFormatter)_formatProvider.GetFormat(typeof(ICustomFormatter));
|
||||
var customFormatter = (ICustomFormatter?)_formatProvider.GetFormat(typeof(ICustomFormatter));
|
||||
if (customFormatter != null)
|
||||
{
|
||||
var result = customFormatter.Format(format, arg, _formatProvider);
|
||||
|
|
@ -170,7 +170,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
return string.Empty;
|
||||
}
|
||||
|
||||
public object GetFormat(Type formatType)
|
||||
public object? GetFormat(Type? formatType)
|
||||
{
|
||||
if (formatType == typeof(ICustomFormatter))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
/// Creates a new <see cref="HtmlString"/>.
|
||||
/// </summary>
|
||||
/// <param name="value">The HTML encoded value.</param>
|
||||
public HtmlString(string value)
|
||||
public HtmlString(string? value)
|
||||
{
|
||||
Value = value;
|
||||
}
|
||||
|
|
@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Html
|
|||
/// <summary>
|
||||
/// Gets the HTML encoded value.
|
||||
/// </summary>
|
||||
public string Value { get; }
|
||||
public string? Value { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public void WriteTo(TextWriter writer, HtmlEncoder encoder)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<Description>ASP.NET Core HTML abstractions used for building HTML content.
|
||||
|
|
@ -11,6 +11,7 @@ Microsoft.AspNetCore.Html.IHtmlContent</Description>
|
|||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<PackageTags>aspnetcore</PackageTags>
|
||||
<IsPackable>false</IsPackable>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -256,7 +256,7 @@ namespace Microsoft.Extensions.Internal
|
|||
return _content.GetHashCode();
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
public override bool Equals(object? obj)
|
||||
{
|
||||
var other = obj as TestHtmlContent;
|
||||
if (other != null)
|
||||
|
|
@ -267,9 +267,9 @@ namespace Microsoft.Extensions.Internal
|
|||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
||||
<Nullable>annotations</Nullable>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'">
|
||||
<Compile Include="Microsoft.AspNetCore.Authentication.Abstractions.netcoreapp.cs" />
|
||||
|
|
|
|||
|
|
@ -6,51 +6,52 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
public partial class 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 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 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 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 static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(System.Exception failure) { 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) { throw null; }
|
||||
public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(string failureMessage, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { 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.AuthenticateResult Clone() { throw null; }
|
||||
public static Microsoft.AspNetCore.Authentication.AuthenticateResult Fail(System.Exception? failure) { 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) { 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 Success(Microsoft.AspNetCore.Authentication.AuthenticationTicket ticket) { throw null; }
|
||||
}
|
||||
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, 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, 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, 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, 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, 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 scheme, string tokenName) { 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? 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, 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, 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, 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, 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, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties) { throw null; }
|
||||
}
|
||||
public partial class AuthenticationOptions
|
||||
{
|
||||
public AuthenticationOptions() { }
|
||||
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 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 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? 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? 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? 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 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.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationSchemeBuilder> Schemes { get { throw null; } }
|
||||
|
|
@ -60,60 +61,63 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
public partial class AuthenticationProperties
|
||||
{
|
||||
public AuthenticationProperties() { }
|
||||
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) { }
|
||||
public AuthenticationProperties(System.Collections.Generic.IDictionary<string, string?>? items, System.Collections.Generic.IDictionary<string, object?>? parameters) { }
|
||||
public bool? AllowRefresh { get { throw null; } set { } }
|
||||
public System.DateTimeOffset? ExpiresUtc { get { throw null; } set { } }
|
||||
public bool IsPersistent { 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, object> Parameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||
public string RedirectUri { 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, object?> Parameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||
public string? RedirectUri { get { throw null; } set { } }
|
||||
public Microsoft.AspNetCore.Authentication.AuthenticationProperties Clone() { throw null; }
|
||||
protected bool? GetBool(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 string GetString(string key) { throw null; }
|
||||
public string? GetString(string key) { throw null; }
|
||||
protected void SetBool(string key, bool? value) { }
|
||||
protected void SetDateTimeOffset(string key, System.DateTimeOffset? value) { }
|
||||
public void SetParameter<T>(string key, T value) { }
|
||||
public void SetString(string key, string value) { }
|
||||
public void SetParameter<T>(string key, [System.Diagnostics.CodeAnalysis.MaybeNullAttribute] T value) { }
|
||||
public void SetString(string key, string? value) { }
|
||||
}
|
||||
public partial class AuthenticationScheme
|
||||
{
|
||||
public AuthenticationScheme(string name, string displayName, System.Type handlerType) { }
|
||||
public string DisplayName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||
public AuthenticationScheme(string name, string? displayName, System.Type handlerType) { }
|
||||
public string? DisplayName { [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 partial class AuthenticationSchemeBuilder
|
||||
{
|
||||
public AuthenticationSchemeBuilder(string name) { }
|
||||
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 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 string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||
public Microsoft.AspNetCore.Authentication.AuthenticationScheme Build() { throw null; }
|
||||
}
|
||||
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 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 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 AuthenticationToken() { }
|
||||
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? 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 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]
|
||||
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 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 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
|
||||
{
|
||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync();
|
||||
System.Threading.Tasks.Task ChallengeAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties);
|
||||
System.Threading.Tasks.Task ForbidAsync(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 InitializeAsync(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Http.HttpContext context);
|
||||
}
|
||||
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
|
||||
{
|
||||
|
|
@ -141,31 +145,31 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
{
|
||||
void AddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme);
|
||||
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> GetDefaultChallengeSchemeAsync();
|
||||
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> GetDefaultSignOutSchemeAsync();
|
||||
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?> GetDefaultForbidSchemeAsync();
|
||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetDefaultSignInSchemeAsync();
|
||||
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<Microsoft.AspNetCore.Authentication.AuthenticationScheme> GetSchemeAsync(string name);
|
||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme?> GetSchemeAsync(string name);
|
||||
void RemoveScheme(string name);
|
||||
bool TryAddScheme(Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme) { throw null; }
|
||||
}
|
||||
public partial interface IAuthenticationService
|
||||
{
|
||||
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 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 SignOutAsync(Microsoft.AspNetCore.Http.HttpContext context, string scheme, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties);
|
||||
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 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 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
|
||||
{
|
||||
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
|
||||
{
|
||||
System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties);
|
||||
System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties);
|
||||
}
|
||||
public partial interface IClaimsTransformation
|
||||
{
|
||||
|
|
|
|||
|
|
@ -24,28 +24,50 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <summary>
|
||||
/// The authentication ticket.
|
||||
/// </summary>
|
||||
public AuthenticationTicket Ticket { get; protected set; }
|
||||
public AuthenticationTicket? Ticket { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the claims-principal with authenticated user identities.
|
||||
/// </summary>
|
||||
public ClaimsPrincipal Principal => Ticket?.Principal;
|
||||
public ClaimsPrincipal? Principal => Ticket?.Principal;
|
||||
|
||||
/// <summary>
|
||||
/// Additional state values for the authentication session.
|
||||
/// </summary>
|
||||
public AuthenticationProperties Properties { get; protected set; }
|
||||
public AuthenticationProperties? Properties { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// Holds failure information from the authentication.
|
||||
/// </summary>
|
||||
public Exception Failure { get; protected set; }
|
||||
public Exception? Failure { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates that there was no information returned for this authentication scheme.
|
||||
/// </summary>
|
||||
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>
|
||||
/// Indicates that authentication was successful.
|
||||
/// </summary>
|
||||
|
|
@ -74,7 +96,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="failure">The failure exception.</param>
|
||||
/// <returns>The result.</returns>
|
||||
public static AuthenticateResult Fail(Exception failure)
|
||||
public static AuthenticateResult Fail(Exception? failure)
|
||||
{
|
||||
return new AuthenticateResult() { Failure = failure };
|
||||
}
|
||||
|
|
@ -85,7 +107,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="failure">The failure exception.</param>
|
||||
/// <param name="properties">Additional state values for the authentication session.</param>
|
||||
/// <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 };
|
||||
}
|
||||
|
|
@ -95,7 +117,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="failureMessage">The failure message.</param>
|
||||
/// <returns>The result.</returns>
|
||||
public static AuthenticateResult Fail(string failureMessage)
|
||||
public static AuthenticateResult Fail(string? failureMessage)
|
||||
=> Fail(new Exception(failureMessage));
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -104,7 +126,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="failureMessage">The failure message.</param>
|
||||
/// <param name="properties">Additional state values for the authentication session.</param>
|
||||
/// <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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/> context.</param>
|
||||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -53,7 +53,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/> context.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -63,7 +63,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -89,7 +89,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/> context.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -99,7 +99,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -128,7 +128,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="principal">The user.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -139,7 +139,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="principal">The user.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -155,7 +155,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/> context.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <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>
|
||||
/// Extension method for SignOut.
|
||||
|
|
@ -163,7 +163,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/> context.</param>
|
||||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <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>
|
||||
/// Extension method for SignOut.
|
||||
|
|
@ -172,7 +172,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -182,7 +182,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <param name="tokenName">The name of the token.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -191,7 +191,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/> context.</param>
|
||||
/// <param name="tokenName">The name of the token.</param>
|
||||
/// <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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,32 +64,32 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <summary>
|
||||
/// Used as the fallback default scheme for all the other defaults.
|
||||
/// </summary>
|
||||
public string DefaultScheme { get; set; }
|
||||
public string? DefaultScheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used as the default scheme by <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.
|
||||
/// </summary>
|
||||
public string DefaultAuthenticateScheme { get; set; }
|
||||
public string? DefaultAuthenticateScheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used as the default scheme by <see cref="IAuthenticationService.SignInAsync(HttpContext, string, System.Security.Claims.ClaimsPrincipal, AuthenticationProperties)"/>.
|
||||
/// </summary>
|
||||
public string DefaultSignInScheme { get; set; }
|
||||
public string? DefaultSignInScheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used as the default scheme by <see cref="IAuthenticationService.SignOutAsync(HttpContext, string, AuthenticationProperties)"/>.
|
||||
/// </summary>
|
||||
public string DefaultSignOutScheme { get; set; }
|
||||
public string? DefaultSignOutScheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used as the default scheme by <see cref="IAuthenticationService.ChallengeAsync(HttpContext, string, AuthenticationProperties)"/>.
|
||||
/// </summary>
|
||||
public string DefaultChallengeScheme { get; set; }
|
||||
public string? DefaultChallengeScheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used as the default scheme by <see cref="IAuthenticationService.ForbidAsync(HttpContext, string, AuthenticationProperties)"/>.
|
||||
/// </summary>
|
||||
public string DefaultForbidScheme { get; set; }
|
||||
public string? DefaultForbidScheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If true, SignIn should throw if attempted with a ClaimsPrincipal.Identity.IsAuthenticated = false.
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Microsoft.AspNetCore.Authentication
|
||||
|
|
@ -30,7 +31,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// Initializes a new instance of the <see cref="AuthenticationProperties"/> class.
|
||||
/// </summary>
|
||||
/// <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)
|
||||
{ }
|
||||
|
||||
|
|
@ -39,22 +40,31 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="items">State values 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);
|
||||
Parameters = parameters ?? new Dictionary<string, object>(StringComparer.Ordinal);
|
||||
Items = items ?? new Dictionary<string, string?>(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>
|
||||
/// State values about the authentication session.
|
||||
/// </summary>
|
||||
public IDictionary<string, string> Items { get; }
|
||||
public IDictionary<string, string?> Items { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 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.
|
||||
/// </summary>
|
||||
public IDictionary<string, object> Parameters { get; }
|
||||
public IDictionary<string, object?> Parameters { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets whether the authentication session is persisted across multiple requests.
|
||||
|
|
@ -68,7 +78,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <summary>
|
||||
/// Gets or sets the full path or absolute URI to be used as an http redirect response value.
|
||||
/// </summary>
|
||||
public string RedirectUri
|
||||
public string? RedirectUri
|
||||
{
|
||||
get => GetString(RedirectUriKey);
|
||||
set => SetString(RedirectUriKey, value);
|
||||
|
|
@ -106,9 +116,9 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="key">Property key.</param>
|
||||
/// <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>
|
||||
|
|
@ -116,7 +126,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="key">Property key.</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)
|
||||
{
|
||||
|
|
@ -134,6 +144,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <typeparam name="T">Parameter type.</typeparam>
|
||||
/// <param name="key">Parameter key.</param>
|
||||
/// <returns>Retrieved value or the default value if the property is not set.</returns>
|
||||
[return: MaybeNull]
|
||||
public T GetParameter<T>(string key)
|
||||
=> 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>
|
||||
/// <param name="key">Parameter key.</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;
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -153,7 +164,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <returns>Retrieved value or <c>null</c> if the property is not set.</returns>
|
||||
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;
|
||||
}
|
||||
|
|
@ -184,8 +195,8 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <returns>Retrieved value or <c>null</c> if the property is not set.</returns>
|
||||
protected DateTimeOffset? GetDateTimeOffset(string key)
|
||||
{
|
||||
if (Items.TryGetValue(key, out string value)
|
||||
&& DateTimeOffset.TryParseExact(value, UtcDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out DateTimeOffset dateTimeOffset))
|
||||
if (Items.TryGetValue(key, out var value)
|
||||
&& DateTimeOffset.TryParseExact(value, UtcDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out var dateTimeOffset))
|
||||
{
|
||||
return dateTimeOffset;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Microsoft.AspNetCore.Authentication
|
||||
{
|
||||
|
|
@ -18,7 +17,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="name">The 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>
|
||||
public AuthenticationScheme(string name, string displayName, Type handlerType)
|
||||
public AuthenticationScheme(string name, string? displayName, Type handlerType)
|
||||
{
|
||||
if (name == null)
|
||||
{
|
||||
|
|
@ -46,7 +45,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <summary>
|
||||
/// The display name for the scheme. Null is valid and used for non user facing schemes.
|
||||
/// </summary>
|
||||
public string DisplayName { get; }
|
||||
public string? DisplayName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="IAuthenticationHandler"/> type that handles this scheme.
|
||||
|
|
|
|||
|
|
@ -27,17 +27,25 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <summary>
|
||||
/// The display name for the scheme being built.
|
||||
/// </summary>
|
||||
public string DisplayName { get; set; }
|
||||
public string? DisplayName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="IAuthenticationHandler"/> type responsible for this scheme.
|
||||
/// </summary>
|
||||
public Type HandlerType { get; set; }
|
||||
public Type? HandlerType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Builds the <see cref="AuthenticationScheme"/> instance.
|
||||
/// </summary>
|
||||
/// <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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <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="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)
|
||||
{
|
||||
|
|
@ -41,7 +41,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <summary>
|
||||
/// Gets the authentication type.
|
||||
/// </summary>
|
||||
public string AuthenticationScheme { get; private set; }
|
||||
public string? AuthenticationScheme { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the claims-principal with authenticated user identities.
|
||||
|
|
@ -52,5 +52,20 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// Additional state values for the authentication session.
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <summary>
|
||||
/// Name.
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Value.
|
||||
/// </summary>
|
||||
public string Value { get; set; }
|
||||
public string? Value { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,13 +30,13 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param>
|
||||
/// <returns>A task.</returns>
|
||||
Task ChallengeAsync(AuthenticationProperties properties);
|
||||
Task ChallengeAsync(AuthenticationProperties? properties);
|
||||
|
||||
/// <summary>
|
||||
/// Forbid behavior.
|
||||
/// </summary>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param>
|
||||
/// <returns>A task.</returns>
|
||||
Task ForbidAsync(AuthenticationProperties properties);
|
||||
Task ForbidAsync(AuthenticationProperties? properties);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,6 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The context.</param>
|
||||
/// <param name="authenticationScheme">The name of the authentication scheme being handled.</param>
|
||||
/// <returns>The handler instance.</returns>
|
||||
Task<IAuthenticationHandler> GetHandlerAsync(HttpContext context, string authenticationScheme);
|
||||
Task<IAuthenticationHandler?> GetHandlerAsync(HttpContext context, string authenticationScheme);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="name">The name of the authenticationScheme.</param>
|
||||
/// <returns>The scheme or null if not found.</returns>
|
||||
Task<AuthenticationScheme> GetSchemeAsync(string name);
|
||||
Task<AuthenticationScheme?> GetSchemeAsync(string name);
|
||||
|
||||
/// <summary>
|
||||
/// 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"/>.
|
||||
/// </summary>
|
||||
/// <returns>The scheme that will be used by default for <see cref="IAuthenticationService.AuthenticateAsync(HttpContext, string)"/>.</returns>
|
||||
Task<AuthenticationScheme> GetDefaultAuthenticateSchemeAsync();
|
||||
Task<AuthenticationScheme?> GetDefaultAuthenticateSchemeAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 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"/>.
|
||||
/// </summary>
|
||||
/// <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>
|
||||
/// 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"/> .
|
||||
/// </summary>
|
||||
/// <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>
|
||||
/// 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"/>.
|
||||
/// </summary>
|
||||
/// <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>
|
||||
/// 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"/> .
|
||||
/// </summary>
|
||||
/// <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>
|
||||
/// Registers a scheme for use by <see cref="IAuthenticationService"/>.
|
||||
|
|
@ -100,4 +100,4 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <returns>The schemes in priority order for request handling</returns>
|
||||
Task<IEnumerable<AuthenticationScheme>> GetRequestHandlerSchemesAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/>.</param>
|
||||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <returns>The result.</returns>
|
||||
Task<AuthenticateResult> AuthenticateAsync(HttpContext context, string scheme);
|
||||
Task<AuthenticateResult> AuthenticateAsync(HttpContext context, string? scheme);
|
||||
|
||||
/// <summary>
|
||||
/// 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="properties">The <see cref="AuthenticationProperties"/>.</param>
|
||||
/// <returns>A task.</returns>
|
||||
Task ChallengeAsync(HttpContext context, string scheme, AuthenticationProperties properties);
|
||||
Task ChallengeAsync(HttpContext context, string? scheme, AuthenticationProperties? properties);
|
||||
|
||||
/// <summary>
|
||||
/// 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="properties">The <see cref="AuthenticationProperties"/>.</param>
|
||||
/// <returns>A task.</returns>
|
||||
Task ForbidAsync(HttpContext context, string scheme, AuthenticationProperties properties);
|
||||
Task ForbidAsync(HttpContext context, string? scheme, AuthenticationProperties? properties);
|
||||
|
||||
/// <summary>
|
||||
/// 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="properties">The <see cref="AuthenticationProperties"/>.</param>
|
||||
/// <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>
|
||||
/// 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="properties">The <see cref="AuthenticationProperties"/>.</param>
|
||||
/// <returns>A task.</returns>
|
||||
Task SignOutAsync(HttpContext context, string scheme, AuthenticationProperties properties);
|
||||
Task SignOutAsync(HttpContext context, string? scheme, AuthenticationProperties? properties);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,6 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <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>
|
||||
/// <returns>A task.</returns>
|
||||
Task SignInAsync(ClaimsPrincipal user, AuthenticationProperties properties);
|
||||
Task SignInAsync(ClaimsPrincipal user, AuthenticationProperties? properties);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/> that contains the extra meta-data arriving with the authentication.</param>
|
||||
/// <returns>A task.</returns>
|
||||
Task SignOutAsync(AuthenticationProperties properties);
|
||||
Task SignOutAsync(AuthenticationProperties? properties);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
|
||||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
|
||||
<PropertyGroup>
|
||||
<Description>ASP.NET Core common types used by the various authentication components.</Description>
|
||||
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
||||
|
|
@ -7,6 +7,8 @@
|
|||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<PackageTags>aspnetcore;authentication;security</PackageTags>
|
||||
<IsPackable>false</IsPackable>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>Preview</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -43,9 +43,14 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
var tokenNames = new List<string>();
|
||||
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
|
||||
tokenNames.Add(token.Name);
|
||||
properties.Items[TokenKeyPrefix+token.Name] = token.Value;
|
||||
properties.Items[TokenKeyPrefix + token.Name] = token.Value;
|
||||
}
|
||||
if (tokenNames.Count > 0)
|
||||
{
|
||||
|
|
@ -59,7 +64,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="properties">The <see cref="AuthenticationProperties"/> properties.</param>
|
||||
/// <param name="tokenName">The token name.</param>
|
||||
/// <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)
|
||||
{
|
||||
|
|
@ -109,9 +114,9 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
}
|
||||
|
||||
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)
|
||||
{
|
||||
var token = properties.GetTokenValue(name);
|
||||
|
|
@ -132,7 +137,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/> context.</param>
|
||||
/// <param name="tokenName">The name of the token.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -143,7 +148,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <param name="tokenName">The name of the token.</param>
|
||||
/// <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)
|
||||
{
|
||||
|
|
@ -158,4 +163,4 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
return result?.Properties?.GetTokenValue(tokenName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
||||
<Nullable>annotations</Nullable>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'">
|
||||
<Compile Include="Microsoft.AspNetCore.Authentication.Core.netcoreapp.cs" />
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
public AuthenticationHandlerProvider(Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider schemes) { }
|
||||
public Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider Schemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||
[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
|
||||
{
|
||||
|
|
@ -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) { }
|
||||
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<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> 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> GetDefaultSignOutSchemeAsync() { 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?> 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?> 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<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 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.IClaimsTransformation Transform { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||
[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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
public IAuthenticationSchemeProvider Schemes { get; }
|
||||
|
||||
// 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>
|
||||
/// Returns the handler instance that will be used.
|
||||
|
|
@ -37,11 +37,11 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The context.</param>
|
||||
/// <param name="authenticationScheme">The name of the authentication scheme being handled.</param>
|
||||
/// <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);
|
||||
|
|
|
|||
|
|
@ -54,10 +54,10 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
private IEnumerable<AuthenticationScheme> _schemesCopy = Array.Empty<AuthenticationScheme>();
|
||||
private IEnumerable<AuthenticationScheme> _requestHandlersCopy = Array.Empty<AuthenticationScheme>();
|
||||
|
||||
private Task<AuthenticationScheme> GetDefaultSchemeAsync()
|
||||
private Task<AuthenticationScheme?> GetDefaultSchemeAsync()
|
||||
=> _options.DefaultScheme != null
|
||||
? GetSchemeAsync(_options.DefaultScheme)
|
||||
: Task.FromResult<AuthenticationScheme>(null);
|
||||
: Task.FromResult<AuthenticationScheme?>(null);
|
||||
|
||||
/// <summary>
|
||||
/// 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"/>.
|
||||
/// </summary>
|
||||
/// <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
|
||||
? GetSchemeAsync(_options.DefaultAuthenticateScheme)
|
||||
: GetDefaultSchemeAsync();
|
||||
|
|
@ -76,7 +76,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>.
|
||||
/// </summary>
|
||||
/// <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
|
||||
? GetSchemeAsync(_options.DefaultChallengeScheme)
|
||||
: GetDefaultSchemeAsync();
|
||||
|
|
@ -87,7 +87,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// Otherwise, this will fallback to <see cref="GetDefaultChallengeSchemeAsync"/> .
|
||||
/// </summary>
|
||||
/// <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
|
||||
? GetSchemeAsync(_options.DefaultForbidScheme)
|
||||
: GetDefaultChallengeSchemeAsync();
|
||||
|
|
@ -98,7 +98,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// Otherwise, this will fallback to <see cref="AuthenticationOptions.DefaultScheme"/>.
|
||||
/// </summary>
|
||||
/// <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
|
||||
? GetSchemeAsync(_options.DefaultSignInScheme)
|
||||
: GetDefaultSchemeAsync();
|
||||
|
|
@ -109,7 +109,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// Otherwise this will fallback to <see cref="GetDefaultSignInSchemeAsync"/> if that supports sign out.
|
||||
/// </summary>
|
||||
/// <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
|
||||
? GetSchemeAsync(_options.DefaultSignOutScheme)
|
||||
: GetDefaultSignInSchemeAsync();
|
||||
|
|
@ -119,7 +119,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
/// <param name="name">The name of the authenticationScheme.</param>
|
||||
/// <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);
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -204,4 +204,4 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
public virtual Task<IEnumerable<AuthenticationScheme>> GetAllSchemesAsync()
|
||||
=> Task.FromResult(_schemesCopy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// </summary>
|
||||
public class AuthenticationService : IAuthenticationService
|
||||
{
|
||||
private HashSet<ClaimsPrincipal> _transformCache;
|
||||
private HashSet<ClaimsPrincipal>? _transformCache;
|
||||
|
||||
/// <summary>
|
||||
/// Constructor.
|
||||
|
|
@ -59,7 +59,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="context">The <see cref="HttpContext"/>.</param>
|
||||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <returns>The result.</returns>
|
||||
public virtual async Task<AuthenticateResult> AuthenticateAsync(HttpContext context, string scheme)
|
||||
public virtual async Task<AuthenticateResult> AuthenticateAsync(HttpContext context, string? scheme)
|
||||
{
|
||||
if (scheme == null)
|
||||
{
|
||||
|
|
@ -77,10 +77,12 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
throw await CreateMissingHandlerException(scheme);
|
||||
}
|
||||
|
||||
var result = await handler.AuthenticateAsync();
|
||||
if (result != null && result.Succeeded)
|
||||
// Handlers should not return null, but we'll be tolerant of null values for legacy reasons.
|
||||
var result = (await handler.AuthenticateAsync()) ?? AuthenticateResult.NoResult();
|
||||
|
||||
if (result.Succeeded)
|
||||
{
|
||||
var principal = result.Principal;
|
||||
var principal = result.Principal!;
|
||||
var doTransform = true;
|
||||
_transformCache ??= new HashSet<ClaimsPrincipal>();
|
||||
if (_transformCache.Contains(principal))
|
||||
|
|
@ -93,7 +95,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
principal = await Transform.TransformAsync(principal);
|
||||
_transformCache.Add(principal);
|
||||
}
|
||||
return AuthenticateResult.Success(new AuthenticationTicket(principal, result.Properties, result.Ticket.AuthenticationScheme));
|
||||
return AuthenticateResult.Success(new AuthenticationTicket(principal, result.Properties, result.Ticket!.AuthenticationScheme));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
@ -105,7 +107,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/>.</param>
|
||||
/// <returns>A task.</returns>
|
||||
public virtual async Task ChallengeAsync(HttpContext context, string scheme, AuthenticationProperties properties)
|
||||
public virtual async Task ChallengeAsync(HttpContext context, string? scheme, AuthenticationProperties? properties)
|
||||
{
|
||||
if (scheme == null)
|
||||
{
|
||||
|
|
@ -133,7 +135,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/>.</param>
|
||||
/// <returns>A task.</returns>
|
||||
public virtual async Task ForbidAsync(HttpContext context, string scheme, AuthenticationProperties properties)
|
||||
public virtual async Task ForbidAsync(HttpContext context, string? scheme, AuthenticationProperties? properties)
|
||||
{
|
||||
if (scheme == null)
|
||||
{
|
||||
|
|
@ -162,7 +164,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="principal">The <see cref="ClaimsPrincipal"/> to sign in.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/>.</param>
|
||||
/// <returns>A task.</returns>
|
||||
public virtual async Task SignInAsync(HttpContext context, string scheme, ClaimsPrincipal principal, AuthenticationProperties properties)
|
||||
public virtual async Task SignInAsync(HttpContext context, string? scheme, ClaimsPrincipal principal, AuthenticationProperties? properties)
|
||||
{
|
||||
if (principal == null)
|
||||
{
|
||||
|
|
@ -213,7 +215,7 @@ namespace Microsoft.AspNetCore.Authentication
|
|||
/// <param name="scheme">The name of the authentication scheme.</param>
|
||||
/// <param name="properties">The <see cref="AuthenticationProperties"/>.</param>
|
||||
/// <returns>A task.</returns>
|
||||
public virtual async Task SignOutAsync(HttpContext context, string scheme, AuthenticationProperties properties)
|
||||
public virtual async Task SignOutAsync(HttpContext context, string? scheme, AuthenticationProperties? properties)
|
||||
{
|
||||
if (scheme == null)
|
||||
{
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue