Merge pull request #25500 from dotnet-maestro-bot/merge/release/5.0-to-release/5.0-rc2

[automated] Merge branch 'release/5.0' => 'release/5.0-rc2'
This commit is contained in:
Doug Bunting 2020-09-01 16:00:06 -07:00 committed by GitHub
commit 5438f84ae5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
87 changed files with 3751 additions and 409 deletions

View File

@ -1043,7 +1043,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft.AspNetCore.Razor.Tools", "Microsoft.AspNetCore.Razor.Tools", "{B9704650-5360-416C-9393-FAF707766AA8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Tools", "src\Razor\Microsoft.AspNetCore.Razor.Tools\src\rzc.csproj", "{4C84173F-5C1F-49A1-895A-C0CA11DE84B1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "rzc", "src\Razor\Microsoft.AspNetCore.Razor.Tools\src\rzc.csproj", "{4C84173F-5C1F-49A1-895A-C0CA11DE84B1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Tools.Test", "src\Razor\Microsoft.AspNetCore.Razor.Tools\test\Microsoft.AspNetCore.Razor.Tools.Test.csproj", "{FE095F11-4CD2-406D-A2BB-1BE569603BF0}"
EndProject
@ -1275,7 +1275,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ApiDes
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GetDocumentInsider", "GetDocumentInsider", "{A1B75FC7-A777-4412-A635-D0C9ED8FE7A0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GetDocumentInsider", "src\Tools\GetDocumentInsider\src\GetDocument.Insider.csproj", "{DD63EA3C-929C-48FF-8E8A-8F3CC553E93B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GetDocument.Insider", "src\Tools\GetDocumentInsider\src\GetDocument.Insider.csproj", "{DD63EA3C-929C-48FF-8E8A-8F3CC553E93B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ApiDescription.Client.Tests", "src\Tools\Extensions.ApiDescription.Client\test\Microsoft.Extensions.ApiDescription.Client.Tests.csproj", "{34E40892-48C1-4D3D-AB49-FAC3C4C00B42}"
EndProject
@ -1489,9 +1489,22 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.JSInterop.Tests",
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ProtectedBrowserStorage", "ProtectedBrowserStorage", "{1B06FD32-3A1D-46A4-B2AF-99159FAD8127}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Components.ProtectedBrowserStorage", "src\Components\ProtectedBrowserStorage\src\Microsoft.AspNetCore.Components.ProtectedBrowserStorage.csproj", "{9059AC97-7547-4CC1-A076-680CBCCC1F33}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.ProtectedBrowserStorage", "src\Components\ProtectedBrowserStorage\src\Microsoft.AspNetCore.Components.ProtectedBrowserStorage.csproj", "{9059AC97-7547-4CC1-A076-680CBCCC1F33}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Components.ProtectedBrowserStorage.Tests", "src\Components\ProtectedBrowserStorage\test\Microsoft.AspNetCore.Components.ProtectedBrowserStorage.Tests.csproj", "{943FD3EC-D330-4277-B3F3-3DFABB57D3B5}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.ProtectedBrowserStorage.Tests", "src\Components\ProtectedBrowserStorage\test\Microsoft.AspNetCore.Components.ProtectedBrowserStorage.Tests.csproj", "{943FD3EC-D330-4277-B3F3-3DFABB57D3B5}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Configuration.KeyPerFile", "src\Configuration.KeyPerFile\src\Microsoft.Extensions.Configuration.KeyPerFile.csproj", "{498A4F54-F11A-46C5-A58D-09DE56C6A034}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Configuration.KeyPerFile", "Configuration.KeyPerFile", "{AEB1933E-9369-4305-B20E-F186F888158F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Configuration.KeyPerFile.Tests", "src\Configuration.KeyPerFile\test\Microsoft.Extensions.Configuration.KeyPerFile.Tests.csproj", "{B9D37BCF-80D1-489D-9FC6-55191FDBB033}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Manifest.MSBuildTask", "Manifest.MSBuildTask", "{8C15FD04-7F90-43FC-B488-023432FE3CE1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.FileProviders.Embedded.Manifest.Task", "src\FileProviders\Manifest.MSBuildTask\src\Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.csproj", "{37329855-01B8-4B03-9765-1A941B06E43C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.Tests", "src\FileProviders\Manifest.MSBuildTask\test\Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.Tests.csproj", "{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.FileProviders.Embedded.Tests", "src\FileProviders\Embedded\test\Microsoft.Extensions.FileProviders.Embedded.Tests.csproj", "{B06ADD57-E855-4D8C-85DC-B323509AE540}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -2895,18 +2908,6 @@ Global
{09F72EF0-2BDE-4B73-B116-A87E38C432FE}.Release|x64.Build.0 = Release|Any CPU
{09F72EF0-2BDE-4B73-B116-A87E38C432FE}.Release|x86.ActiveCfg = Release|Any CPU
{09F72EF0-2BDE-4B73-B116-A87E38C432FE}.Release|x86.Build.0 = Release|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Debug|Any CPU.Build.0 = Debug|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Debug|x64.ActiveCfg = Debug|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Debug|x64.Build.0 = Debug|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Debug|x86.ActiveCfg = Debug|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Debug|x86.Build.0 = Debug|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Release|Any CPU.ActiveCfg = Release|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Release|Any CPU.Build.0 = Release|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Release|x64.ActiveCfg = Release|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Release|x64.Build.0 = Release|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Release|x86.ActiveCfg = Release|Any CPU
{67F51062-6897-4019-AA88-6BDB5E30B015}.Release|x86.Build.0 = Release|Any CPU
{E0B1F2AA-4EBA-4DC7-92D5-2F081354C8DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E0B1F2AA-4EBA-4DC7-92D5-2F081354C8DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E0B1F2AA-4EBA-4DC7-92D5-2F081354C8DE}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -7129,6 +7130,66 @@ Global
{943FD3EC-D330-4277-B3F3-3DFABB57D3B5}.Release|x64.Build.0 = Release|Any CPU
{943FD3EC-D330-4277-B3F3-3DFABB57D3B5}.Release|x86.ActiveCfg = Release|Any CPU
{943FD3EC-D330-4277-B3F3-3DFABB57D3B5}.Release|x86.Build.0 = Release|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Debug|Any CPU.Build.0 = Debug|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Debug|x64.ActiveCfg = Debug|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Debug|x64.Build.0 = Debug|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Debug|x86.ActiveCfg = Debug|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Debug|x86.Build.0 = Debug|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Release|Any CPU.ActiveCfg = Release|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Release|Any CPU.Build.0 = Release|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Release|x64.ActiveCfg = Release|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Release|x64.Build.0 = Release|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Release|x86.ActiveCfg = Release|Any CPU
{498A4F54-F11A-46C5-A58D-09DE56C6A034}.Release|x86.Build.0 = Release|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Debug|x64.ActiveCfg = Debug|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Debug|x64.Build.0 = Debug|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Debug|x86.ActiveCfg = Debug|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Debug|x86.Build.0 = Debug|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Release|Any CPU.Build.0 = Release|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Release|x64.ActiveCfg = Release|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Release|x64.Build.0 = Release|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Release|x86.ActiveCfg = Release|Any CPU
{B9D37BCF-80D1-489D-9FC6-55191FDBB033}.Release|x86.Build.0 = Release|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Debug|x64.ActiveCfg = Debug|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Debug|x64.Build.0 = Debug|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Debug|x86.ActiveCfg = Debug|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Debug|x86.Build.0 = Debug|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Release|Any CPU.Build.0 = Release|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Release|x64.ActiveCfg = Release|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Release|x64.Build.0 = Release|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Release|x86.ActiveCfg = Release|Any CPU
{37329855-01B8-4B03-9765-1A941B06E43C}.Release|x86.Build.0 = Release|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Debug|x64.ActiveCfg = Debug|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Debug|x64.Build.0 = Debug|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Debug|x86.ActiveCfg = Debug|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Debug|x86.Build.0 = Debug|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Release|Any CPU.Build.0 = Release|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Release|x64.ActiveCfg = Release|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Release|x64.Build.0 = Release|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Release|x86.ActiveCfg = Release|Any CPU
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB}.Release|x86.Build.0 = Release|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Debug|x64.ActiveCfg = Debug|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Debug|x64.Build.0 = Debug|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Debug|x86.ActiveCfg = Debug|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Debug|x86.Build.0 = Debug|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Release|Any CPU.Build.0 = Release|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Release|x64.ActiveCfg = Release|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Release|x64.Build.0 = Release|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Release|x86.ActiveCfg = Release|Any CPU
{B06ADD57-E855-4D8C-85DC-B323509AE540}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -7373,8 +7434,6 @@ Global
{0C610220-E00C-4752-98A0-44A3D4B96A21} = {13683DEB-FB7E-4F20-ACB2-015381943541}
{1FD5F261-6384-4AE1-A6DA-4D08A0BCE1CF} = {562D5067-8CD8-4F19-BCBB-873204932C61}
{09F72EF0-2BDE-4B73-B116-A87E38C432FE} = {1FD5F261-6384-4AE1-A6DA-4D08A0BCE1CF}
{F01E5B0D-1277-481D-8879-41A87F3F9524} = {562D5067-8CD8-4F19-BCBB-873204932C61}
{67F51062-6897-4019-AA88-6BDB5E30B015} = {F01E5B0D-1277-481D-8879-41A87F3F9524}
{44161B20-CC30-403A-AC94-247592ED7590} = {562D5067-8CD8-4F19-BCBB-873204932C61}
{E0B1F2AA-4EBA-4DC7-92D5-2F081354C8DE} = {44161B20-CC30-403A-AC94-247592ED7590}
{E33C36A1-481C-4A93-BCBE-22CCBA53349B} = {562D5067-8CD8-4F19-BCBB-873204932C61}
@ -7879,6 +7938,13 @@ Global
{1B06FD32-3A1D-46A4-B2AF-99159FAD8127} = {60D51C98-2CC0-40DF-B338-44154EFEE2FF}
{9059AC97-7547-4CC1-A076-680CBCCC1F33} = {1B06FD32-3A1D-46A4-B2AF-99159FAD8127}
{943FD3EC-D330-4277-B3F3-3DFABB57D3B5} = {1B06FD32-3A1D-46A4-B2AF-99159FAD8127}
{498A4F54-F11A-46C5-A58D-09DE56C6A034} = {AEB1933E-9369-4305-B20E-F186F888158F}
{AEB1933E-9369-4305-B20E-F186F888158F} = {017429CC-C5FB-48B4-9C46-034E29EE2F06}
{B9D37BCF-80D1-489D-9FC6-55191FDBB033} = {AEB1933E-9369-4305-B20E-F186F888158F}
{8C15FD04-7F90-43FC-B488-023432FE3CE1} = {FED63417-432B-49CD-AB4B-44ADA837C2E7}
{37329855-01B8-4B03-9765-1A941B06E43C} = {8C15FD04-7F90-43FC-B488-023432FE3CE1}
{D3246226-BC1A-47F1-8E3E-C3380A8F13FB} = {8C15FD04-7F90-43FC-B488-023432FE3CE1}
{B06ADD57-E855-4D8C-85DC-B323509AE540} = {898F7E0B-1671-42CB-9DFB-689AFF212ED3}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3E8720B3-DBDD-498C-B383-2CC32A054E8F}

View File

@ -13,321 +13,321 @@
<Uri>https://github.com/dotnet/blazor</Uri>
<Sha>cc449601d638ffaab58ae9487f0fd010bb178a12</Sha>
</Dependency>
<Dependency Name="dotnet-ef" Version="5.0.0-rc.1.20431.2">
<Dependency Name="dotnet-ef" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>d38d7df8a04c571c4ef629d173ae01a7cb026fab</Sha>
<Sha>a6653be361ab12369205a6ed51454aaee50a38c6</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.0-rc.1.20431.2">
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>d38d7df8a04c571c4ef629d173ae01a7cb026fab</Sha>
<Sha>a6653be361ab12369205a6ed51454aaee50a38c6</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.0-rc.1.20431.2">
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>d38d7df8a04c571c4ef629d173ae01a7cb026fab</Sha>
<Sha>a6653be361ab12369205a6ed51454aaee50a38c6</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0-rc.1.20431.2">
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>d38d7df8a04c571c4ef629d173ae01a7cb026fab</Sha>
<Sha>a6653be361ab12369205a6ed51454aaee50a38c6</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-rc.1.20431.2">
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>d38d7df8a04c571c4ef629d173ae01a7cb026fab</Sha>
<Sha>a6653be361ab12369205a6ed51454aaee50a38c6</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-rc.1.20431.2">
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>d38d7df8a04c571c4ef629d173ae01a7cb026fab</Sha>
<Sha>a6653be361ab12369205a6ed51454aaee50a38c6</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.0-rc.1.20431.2">
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>d38d7df8a04c571c4ef629d173ae01a7cb026fab</Sha>
<Sha>a6653be361ab12369205a6ed51454aaee50a38c6</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Design" Version="5.0.0-rc.1.20431.2">
<Dependency Name="Microsoft.EntityFrameworkCore.Design" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>d38d7df8a04c571c4ef629d173ae01a7cb026fab</Sha>
<Sha>a6653be361ab12369205a6ed51454aaee50a38c6</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Configuration" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Hosting" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Hosting" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Http" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Http" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Logging" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Options" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Options" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Primitives" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Primitives" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Internal.Transport" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.Internal.Transport" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Win32.Registry" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Win32.Registry" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Win32.SystemEvents" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Win32.SystemEvents" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.ComponentModel.Annotations" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.ComponentModel.Annotations" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Diagnostics.DiagnosticSource" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Diagnostics.DiagnosticSource" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Diagnostics.EventLog" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Diagnostics.EventLog" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.DirectoryServices.Protocols" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.DirectoryServices.Protocols" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Drawing.Common" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Drawing.Common" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.IO.Pipelines" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.IO.Pipelines" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Net.Http.Json" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Net.Http.Json" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Net.Http.WinHttpHandler" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Net.Http.WinHttpHandler" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Reflection.Metadata" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Reflection.Metadata" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Resources.Extensions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Resources.Extensions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<!-- System.Security.AccessControl should only be referenced in Dependencies.props and RTMVersions.csproj. -->
<Dependency Name="System.Security.AccessControl" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Security.AccessControl" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Security.Cryptography.Cng" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Security.Cryptography.Cng" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Security.Cryptography.Pkcs" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Security.Cryptography.Pkcs" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Security.Cryptography.Xml" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Security.Cryptography.Xml" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Security.Permissions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Security.Permissions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Security.Principal.Windows" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Security.Principal.Windows" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.ServiceProcess.ServiceController" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.ServiceProcess.ServiceController" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Text.Encodings.Web" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Text.Encodings.Web" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Text.Json" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Text.Json" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Threading.Channels" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Threading.Channels" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="System.Windows.Extensions" Version="5.0.0-rc.1.20431.5">
<Dependency Name="System.Windows.Extensions" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.NETCore.App.Ref" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</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-rc.1.20431.5">
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Internal" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.NETCore.App.Internal" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.BrowserDebugHost.Transport" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.NETCore.BrowserDebugHost.Transport" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
<Dependency Name="Microsoft.NETCore.Platforms" Version="5.0.0-rc.1.20431.5">
<Dependency Name="Microsoft.NETCore.Platforms" Version="5.0.0-rc.1.20451.2">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4328059b4e2eafe1bc62d23147fa06e4431d9d5c</Sha>
<Sha>54e597d3a5c2b6c0e9dc556a79bba08fb0c67eb9</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20427.5">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20431.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>f2b7fe854a0b1f78c04dfc065164d6d61040f5b8</Sha>
<Sha>4be47e467013f8a07a1ed7b6e49e39c8150bde54</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="5.0.0-beta.20427.5">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="5.0.0-beta.20431.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>f2b7fe854a0b1f78c04dfc065164d6d61040f5b8</Sha>
<Sha>4be47e467013f8a07a1ed7b6e49e39c8150bde54</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="5.0.0-beta.20427.5">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="5.0.0-beta.20431.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>f2b7fe854a0b1f78c04dfc065164d6d61040f5b8</Sha>
<Sha>4be47e467013f8a07a1ed7b6e49e39c8150bde54</Sha>
</Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.8.0-2.20407.3">
<Uri>https://github.com/dotnet/roslyn</Uri>

View File

@ -64,88 +64,87 @@
<!-- Packages from dotnet/roslyn -->
<MicrosoftNetCompilersToolsetPackageVersion>3.8.0-2.20407.3</MicrosoftNetCompilersToolsetPackageVersion>
<!-- Packages from dotnet/runtime -->
<MicrosoftExtensionsDependencyModelPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreAppInternalPackageVersion>5.0.0-rc.1.20431.5</MicrosoftNETCoreAppInternalPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>5.0.0-rc.1.20431.5</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.0-rc.1.20431.5</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreBrowserDebugHostTransportPackageVersion>5.0.0-rc.1.20431.5</MicrosoftNETCoreBrowserDebugHostTransportPackageVersion>
<MicrosoftWin32RegistryPackageVersion>5.0.0-rc.1.20431.5</MicrosoftWin32RegistryPackageVersion>
<MicrosoftWin32SystemEventsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftWin32SystemEventsPackageVersion>
<MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsCachingAbstractionsPackageVersion>
<MicrosoftExtensionsCachingMemoryPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsCachingMemoryPackageVersion>
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
<MicrosoftExtensionsConfigurationBinderPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationBinderPackageVersion>
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
<MicrosoftExtensionsConfigurationIniPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationIniPackageVersion>
<MicrosoftExtensionsConfigurationJsonPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationJsonPackageVersion>
<MicrosoftExtensionsConfigurationPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationPackageVersion>
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
<MicrosoftExtensionsConfigurationXmlPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsConfigurationXmlPackageVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
<MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsDependencyInjectionPackageVersion>
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
<MicrosoftExtensionsFileProvidersCompositePackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsFileProvidersCompositePackageVersion>
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
<MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
<MicrosoftExtensionsHostingAbstractionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsHostingAbstractionsPackageVersion>
<MicrosoftExtensionsHostingPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsHostingPackageVersion>
<MicrosoftExtensionsHttpPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsHttpPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<MicrosoftExtensionsLoggingConfigurationPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsLoggingConfigurationPackageVersion>
<MicrosoftExtensionsLoggingConsolePackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsLoggingConsolePackageVersion>
<MicrosoftExtensionsLoggingDebugPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsLoggingDebugPackageVersion>
<MicrosoftExtensionsLoggingEventSourcePackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsLoggingEventSourcePackageVersion>
<MicrosoftExtensionsLoggingEventLogPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsLoggingEventLogPackageVersion>
<MicrosoftExtensionsLoggingPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsLoggingPackageVersion>
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
<MicrosoftExtensionsOptionsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsOptionsPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsInternalTransportPackageVersion>5.0.0-rc.1.20431.5</MicrosoftExtensionsInternalTransportPackageVersion>
<SystemComponentModelAnnotationsPackageVersion>5.0.0-rc.1.20431.5</SystemComponentModelAnnotationsPackageVersion>
<SystemDiagnosticsDiagnosticSourcePackageVersion>5.0.0-rc.1.20431.5</SystemDiagnosticsDiagnosticSourcePackageVersion>
<SystemDiagnosticsEventLogPackageVersion>5.0.0-rc.1.20431.5</SystemDiagnosticsEventLogPackageVersion>
<SystemDirectoryServicesProtocolsPackageVersion>5.0.0-rc.1.20431.5</SystemDirectoryServicesProtocolsPackageVersion>
<SystemDrawingCommonPackageVersion>5.0.0-rc.1.20431.5</SystemDrawingCommonPackageVersion>
<SystemIOPipelinesPackageVersion>5.0.0-rc.1.20431.5</SystemIOPipelinesPackageVersion>
<SystemNetHttpJsonPackageVersion>5.0.0-rc.1.20431.5</SystemNetHttpJsonPackageVersion>
<SystemNetHttpWinHttpHandlerPackageVersion>5.0.0-rc.1.20431.5</SystemNetHttpWinHttpHandlerPackageVersion>
<SystemNetWebSocketsWebSocketProtocolPackageVersion>5.0.0-rc.1.20431.5</SystemNetWebSocketsWebSocketProtocolPackageVersion>
<SystemReflectionMetadataPackageVersion>5.0.0-rc.1.20431.5</SystemReflectionMetadataPackageVersion>
<SystemResourcesExtensionsPackageVersion>5.0.0-rc.1.20431.5</SystemResourcesExtensionsPackageVersion>
<SystemRuntimeCompilerServicesUnsafePackageVersion>5.0.0-rc.1.20431.5</SystemRuntimeCompilerServicesUnsafePackageVersion>
<MicrosoftExtensionsDependencyModelPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreAppInternalPackageVersion>5.0.0-rc.1.20451.2</MicrosoftNETCoreAppInternalPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>5.0.0-rc.1.20451.2</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.0-rc.1.20451.2</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreBrowserDebugHostTransportPackageVersion>5.0.0-rc.1.20451.2</MicrosoftNETCoreBrowserDebugHostTransportPackageVersion>
<MicrosoftWin32RegistryPackageVersion>5.0.0-rc.1.20451.2</MicrosoftWin32RegistryPackageVersion>
<MicrosoftWin32SystemEventsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftWin32SystemEventsPackageVersion>
<MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsCachingAbstractionsPackageVersion>
<MicrosoftExtensionsCachingMemoryPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsCachingMemoryPackageVersion>
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
<MicrosoftExtensionsConfigurationBinderPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationBinderPackageVersion>
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
<MicrosoftExtensionsConfigurationIniPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationIniPackageVersion>
<MicrosoftExtensionsConfigurationJsonPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationJsonPackageVersion>
<MicrosoftExtensionsConfigurationPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationPackageVersion>
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
<MicrosoftExtensionsConfigurationXmlPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsConfigurationXmlPackageVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
<MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsDependencyInjectionPackageVersion>
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
<MicrosoftExtensionsFileProvidersCompositePackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsFileProvidersCompositePackageVersion>
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
<MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
<MicrosoftExtensionsHostingAbstractionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsHostingAbstractionsPackageVersion>
<MicrosoftExtensionsHostingPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsHostingPackageVersion>
<MicrosoftExtensionsHttpPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsHttpPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<MicrosoftExtensionsLoggingConfigurationPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsLoggingConfigurationPackageVersion>
<MicrosoftExtensionsLoggingConsolePackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsLoggingConsolePackageVersion>
<MicrosoftExtensionsLoggingDebugPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsLoggingDebugPackageVersion>
<MicrosoftExtensionsLoggingEventSourcePackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsLoggingEventSourcePackageVersion>
<MicrosoftExtensionsLoggingEventLogPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsLoggingEventLogPackageVersion>
<MicrosoftExtensionsLoggingPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsLoggingPackageVersion>
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
<MicrosoftExtensionsOptionsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsOptionsPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsInternalTransportPackageVersion>5.0.0-rc.1.20451.2</MicrosoftExtensionsInternalTransportPackageVersion>
<SystemComponentModelAnnotationsPackageVersion>5.0.0-rc.1.20451.2</SystemComponentModelAnnotationsPackageVersion>
<SystemDiagnosticsDiagnosticSourcePackageVersion>5.0.0-rc.1.20451.2</SystemDiagnosticsDiagnosticSourcePackageVersion>
<SystemDiagnosticsEventLogPackageVersion>5.0.0-rc.1.20451.2</SystemDiagnosticsEventLogPackageVersion>
<SystemDirectoryServicesProtocolsPackageVersion>5.0.0-rc.1.20451.2</SystemDirectoryServicesProtocolsPackageVersion>
<SystemDrawingCommonPackageVersion>5.0.0-rc.1.20451.2</SystemDrawingCommonPackageVersion>
<SystemIOPipelinesPackageVersion>5.0.0-rc.1.20451.2</SystemIOPipelinesPackageVersion>
<SystemNetHttpJsonPackageVersion>5.0.0-rc.1.20451.2</SystemNetHttpJsonPackageVersion>
<SystemNetHttpWinHttpHandlerPackageVersion>5.0.0-rc.1.20451.2</SystemNetHttpWinHttpHandlerPackageVersion>
<SystemNetWebSocketsWebSocketProtocolPackageVersion>5.0.0-rc.1.20451.2</SystemNetWebSocketsWebSocketProtocolPackageVersion>
<SystemReflectionMetadataPackageVersion>5.0.0-rc.1.20451.2</SystemReflectionMetadataPackageVersion>
<SystemResourcesExtensionsPackageVersion>5.0.0-rc.1.20451.2</SystemResourcesExtensionsPackageVersion>
<SystemRuntimeCompilerServicesUnsafePackageVersion>5.0.0-rc.1.20451.2</SystemRuntimeCompilerServicesUnsafePackageVersion>
<!-- System.Security.AccessControl should only be referenced in Dependencies.props and RTMVersions.csproj. -->
<SystemSecurityAccessControlPackageVersion>5.0.0-rc.1.20431.5</SystemSecurityAccessControlPackageVersion>
<SystemSecurityCryptographyCngPackageVersion>5.0.0-rc.1.20431.5</SystemSecurityCryptographyCngPackageVersion>
<SystemSecurityCryptographyPkcsPackageVersion>5.0.0-rc.1.20431.5</SystemSecurityCryptographyPkcsPackageVersion>
<SystemSecurityCryptographyXmlPackageVersion>5.0.0-rc.1.20431.5</SystemSecurityCryptographyXmlPackageVersion>
<SystemSecurityPermissionsPackageVersion>5.0.0-rc.1.20431.5</SystemSecurityPermissionsPackageVersion>
<SystemSecurityPrincipalWindowsPackageVersion>5.0.0-rc.1.20431.5</SystemSecurityPrincipalWindowsPackageVersion>
<SystemServiceProcessServiceControllerPackageVersion>5.0.0-rc.1.20431.5</SystemServiceProcessServiceControllerPackageVersion>
<SystemTextEncodingsWebPackageVersion>5.0.0-rc.1.20431.5</SystemTextEncodingsWebPackageVersion>
<SystemTextJsonPackageVersion>5.0.0-rc.1.20431.5</SystemTextJsonPackageVersion>
<SystemThreadingChannelsPackageVersion>5.0.0-rc.1.20431.5</SystemThreadingChannelsPackageVersion>
<SystemWindowsExtensionsPackageVersion>5.0.0-rc.1.20431.5</SystemWindowsExtensionsPackageVersion>
<SystemSecurityAccessControlPackageVersion>5.0.0-rc.1.20451.2</SystemSecurityAccessControlPackageVersion>
<SystemSecurityCryptographyCngPackageVersion>5.0.0-rc.1.20451.2</SystemSecurityCryptographyCngPackageVersion>
<SystemSecurityCryptographyPkcsPackageVersion>5.0.0-rc.1.20451.2</SystemSecurityCryptographyPkcsPackageVersion>
<SystemSecurityCryptographyXmlPackageVersion>5.0.0-rc.1.20451.2</SystemSecurityCryptographyXmlPackageVersion>
<SystemSecurityPermissionsPackageVersion>5.0.0-rc.1.20451.2</SystemSecurityPermissionsPackageVersion>
<SystemSecurityPrincipalWindowsPackageVersion>5.0.0-rc.1.20451.2</SystemSecurityPrincipalWindowsPackageVersion>
<SystemServiceProcessServiceControllerPackageVersion>5.0.0-rc.1.20451.2</SystemServiceProcessServiceControllerPackageVersion>
<SystemTextEncodingsWebPackageVersion>5.0.0-rc.1.20451.2</SystemTextEncodingsWebPackageVersion>
<SystemTextJsonPackageVersion>5.0.0-rc.1.20451.2</SystemTextJsonPackageVersion>
<SystemThreadingChannelsPackageVersion>5.0.0-rc.1.20451.2</SystemThreadingChannelsPackageVersion>
<SystemWindowsExtensionsPackageVersion>5.0.0-rc.1.20451.2</SystemWindowsExtensionsPackageVersion>
<!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
<MicrosoftNETCorePlatformsPackageVersion>5.0.0-rc.1.20431.5</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCorePlatformsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftNETCorePlatformsPackageVersion>
<!-- Packages from dotnet/blazor -->
<MicrosoftAspNetCoreComponentsWebAssemblyRuntimePackageVersion>3.2.0</MicrosoftAspNetCoreComponentsWebAssemblyRuntimePackageVersion>
<!-- Packages from dotnet/efcore -->
<dotnetefPackageVersion>5.0.0-rc.1.20431.2</dotnetefPackageVersion>
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-rc.1.20431.2</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-rc.1.20431.2</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-rc.1.20431.2</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-rc.1.20431.2</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-rc.1.20431.2</MicrosoftEntityFrameworkCoreToolsPackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-rc.1.20431.2</MicrosoftEntityFrameworkCorePackageVersion>
<MicrosoftEntityFrameworkCoreDesignPackageVersion>5.0.0-rc.1.20431.2</MicrosoftEntityFrameworkCoreDesignPackageVersion>
<dotnetefPackageVersion>5.0.0-rc.1.20451.2</dotnetefPackageVersion>
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-rc.1.20451.2</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-rc.1.20451.2</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-rc.1.20451.2</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-rc.1.20451.2</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-rc.1.20451.2</MicrosoftEntityFrameworkCoreToolsPackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-rc.1.20451.2</MicrosoftEntityFrameworkCorePackageVersion>
<MicrosoftEntityFrameworkCoreDesignPackageVersion>5.0.0-rc.1.20451.2</MicrosoftEntityFrameworkCoreDesignPackageVersion>
<!-- Packages from dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>5.0.0-beta.20427.5</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksInstallersPackageVersion>5.0.0-beta.20431.1</MicrosoftDotNetBuildTasksInstallersPackageVersion>
</PropertyGroup>
<!--

View File

@ -7,6 +7,7 @@ Param(
[string] $msbuildEngine = $null,
[bool] $warnAsError = $true,
[bool] $nodeReuse = $true,
[bool] $useDefaultDotnetInstall = $false,
[switch][Alias('r')]$restore,
[switch] $deployDeps,
[switch][Alias('b')]$build,
@ -65,6 +66,7 @@ function Print-Usage() {
Write-Host " -prepareMachine Prepare machine for CI run, clean up processes after build"
Write-Host " -warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
Write-Host " -msbuildEngine <value> Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)."
Write-Host " -useDefaultDotnetInstall <value> Use dotnet-install.* scripts from public location as opposed to from eng common folder"
Write-Host ""
Write-Host "Command line arguments not listed above are passed thru to msbuild."

View File

@ -36,6 +36,8 @@ usage()
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
echo " --nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
echo " --warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
echo " --useDefaultDotnetInstall <value> Use dotnet-install.* scripts from public location as opposed to from eng common folder"
echo ""
echo "Command line arguments not listed above are passed thru to msbuild."
echo "Arguments can also be passed in with a single hyphen."
@ -78,6 +80,7 @@ prepare_machine=false
verbosity='minimal'
runtime_source_feed=''
runtime_source_feed_key=''
use_default_dotnet_install=false
properties=''
while [[ $# > 0 ]]; do
@ -156,10 +159,14 @@ while [[ $# > 0 ]]; do
runtime_source_feed=$2
shift
;;
-runtimesourcefeedkey)
-runtimesourcefeedkey)
runtime_source_feed_key=$2
shift
;;
-usedefaultdotnetinstall)
use_default_dotnet_install=$2
shift
;;
*)
properties="$properties $1"
;;

View File

@ -0,0 +1,774 @@
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#
# Copied from https://dot.net/v1/dotnet-install.ps1 on 8/26/2020
<#
.SYNOPSIS
Installs dotnet cli
.DESCRIPTION
Installs dotnet cli. If dotnet installation already exists in the given directory
it will update it only if the requested version differs from the one already installed.
.PARAMETER Channel
Default: LTS
Download from the Channel specified. Possible values:
- Current - most current release
- LTS - most current supported release
- 2-part version in a format A.B - represents a specific release
examples: 2.0, 1.0
- Branch name
examples: release/2.0.0, Master
Note: The version parameter overrides the channel parameter.
.PARAMETER Version
Default: latest
Represents a build version on specific channel. Possible values:
- latest - most latest build on specific channel
- coherent - most latest coherent build on specific channel
coherent applies only to SDK downloads
- 3-part version in a format A.B.C - represents specific version of build
examples: 2.0.0-preview2-006120, 1.1.0
.PARAMETER InstallDir
Default: %LocalAppData%\Microsoft\dotnet
Path to where to install dotnet. Note that binaries will be placed directly in a given directory.
.PARAMETER Architecture
Default: <auto> - this value represents currently running OS architecture
Architecture of dotnet binaries to be installed.
Possible values are: <auto>, amd64, x64, x86, arm64, arm
.PARAMETER SharedRuntime
This parameter is obsolete and may be removed in a future version of this script.
The recommended alternative is '-Runtime dotnet'.
Installs just the shared runtime bits, not the entire SDK.
.PARAMETER Runtime
Installs just a shared runtime, not the entire SDK.
Possible values:
- dotnet - the Microsoft.NETCore.App shared runtime
- aspnetcore - the Microsoft.AspNetCore.App shared runtime
- windowsdesktop - the Microsoft.WindowsDesktop.App shared runtime
.PARAMETER DryRun
If set it will not perform installation but instead display what command line to use to consistently install
currently requested version of dotnet cli. In example if you specify version 'latest' it will display a link
with specific version so that this command can be used deterministicly in a build script.
It also displays binaries location if you prefer to install or download it yourself.
.PARAMETER NoPath
By default this script will set environment variable PATH for the current process to the binaries folder inside installation folder.
If set it will display binaries location but not set any environment variable.
.PARAMETER Verbose
Displays diagnostics information.
.PARAMETER AzureFeed
Default: https://dotnetcli.azureedge.net/dotnet
This parameter typically is not changed by the user.
It allows changing the URL for the Azure feed used by this installer.
.PARAMETER UncachedFeed
This parameter typically is not changed by the user.
It allows changing the URL for the Uncached feed used by this installer.
.PARAMETER FeedCredential
Used as a query string to append to the Azure feed.
It allows changing the URL to use non-public blob storage accounts.
.PARAMETER ProxyAddress
If set, the installer will use the proxy when making web requests
.PARAMETER ProxyUseDefaultCredentials
Default: false
Use default credentials, when using proxy address.
.PARAMETER ProxyBypassList
If set with ProxyAddress, will provide the list of comma separated urls that will bypass the proxy
.PARAMETER SkipNonVersionedFiles
Default: false
Skips installing non-versioned files if they already exist, such as dotnet.exe.
.PARAMETER NoCdn
Disable downloading from the Azure CDN, and use the uncached feed directly.
.PARAMETER JSonFile
Determines the SDK version from a user specified global.json file
Note: global.json must have a value for 'SDK:Version'
#>
[cmdletbinding()]
param(
[string]$Channel="LTS",
[string]$Version="Latest",
[string]$JSonFile,
[string]$InstallDir="<auto>",
[string]$Architecture="<auto>",
[ValidateSet("dotnet", "aspnetcore", "windowsdesktop", IgnoreCase = $false)]
[string]$Runtime,
[Obsolete("This parameter may be removed in a future version of this script. The recommended alternative is '-Runtime dotnet'.")]
[switch]$SharedRuntime,
[switch]$DryRun,
[switch]$NoPath,
[string]$AzureFeed="https://dotnetcli.azureedge.net/dotnet",
[string]$UncachedFeed="https://dotnetcli.blob.core.windows.net/dotnet",
[string]$FeedCredential,
[string]$ProxyAddress,
[switch]$ProxyUseDefaultCredentials,
[string[]]$ProxyBypassList=@(),
[switch]$SkipNonVersionedFiles,
[switch]$NoCdn
)
Set-StrictMode -Version Latest
$ErrorActionPreference="Stop"
$ProgressPreference="SilentlyContinue"
if ($NoCdn) {
$AzureFeed = $UncachedFeed
}
$BinFolderRelativePath=""
if ($SharedRuntime -and (-not $Runtime)) {
$Runtime = "dotnet"
}
# example path with regex: shared/1.0.0-beta-12345/somepath
$VersionRegEx="/\d+\.\d+[^/]+/"
$OverrideNonVersionedFiles = !$SkipNonVersionedFiles
function Say($str) {
try
{
Write-Host "dotnet-install: $str"
}
catch
{
# Some platforms cannot utilize Write-Host (Azure Functions, for instance). Fall back to Write-Output
Write-Output "dotnet-install: $str"
}
}
function Say-Verbose($str) {
try
{
Write-Verbose "dotnet-install: $str"
}
catch
{
# Some platforms cannot utilize Write-Verbose (Azure Functions, for instance). Fall back to Write-Output
Write-Output "dotnet-install: $str"
}
}
function Say-Invocation($Invocation) {
$command = $Invocation.MyCommand;
$args = (($Invocation.BoundParameters.Keys | foreach { "-$_ `"$($Invocation.BoundParameters[$_])`"" }) -join " ")
Say-Verbose "$command $args"
}
function Invoke-With-Retry([ScriptBlock]$ScriptBlock, [int]$MaxAttempts = 3, [int]$SecondsBetweenAttempts = 1) {
$Attempts = 0
while ($true) {
try {
return $ScriptBlock.Invoke()
}
catch {
$Attempts++
if ($Attempts -lt $MaxAttempts) {
Start-Sleep $SecondsBetweenAttempts
}
else {
throw
}
}
}
}
function Get-Machine-Architecture() {
Say-Invocation $MyInvocation
# On PS x86, PROCESSOR_ARCHITECTURE reports x86 even on x64 systems.
# To get the correct architecture, we need to use PROCESSOR_ARCHITEW6432.
# PS x64 doesn't define this, so we fall back to PROCESSOR_ARCHITECTURE.
# Possible values: amd64, x64, x86, arm64, arm
if( $ENV:PROCESSOR_ARCHITEW6432 -ne $null )
{
return $ENV:PROCESSOR_ARCHITEW6432
}
return $ENV:PROCESSOR_ARCHITECTURE
}
function Get-CLIArchitecture-From-Architecture([string]$Architecture) {
Say-Invocation $MyInvocation
switch ($Architecture.ToLower()) {
{ $_ -eq "<auto>" } { return Get-CLIArchitecture-From-Architecture $(Get-Machine-Architecture) }
{ ($_ -eq "amd64") -or ($_ -eq "x64") } { return "x64" }
{ $_ -eq "x86" } { return "x86" }
{ $_ -eq "arm" } { return "arm" }
{ $_ -eq "arm64" } { return "arm64" }
default { throw "Architecture not supported. If you think this is a bug, report it at https://github.com/dotnet/sdk/issues" }
}
}
# The version text returned from the feeds is a 1-line or 2-line string:
# For the SDK and the dotnet runtime (2 lines):
# Line 1: # commit_hash
# Line 2: # 4-part version
# For the aspnetcore runtime (1 line):
# Line 1: # 4-part version
function Get-Version-Info-From-Version-Text([string]$VersionText) {
Say-Invocation $MyInvocation
$Data = -split $VersionText
$VersionInfo = @{
CommitHash = $(if ($Data.Count -gt 1) { $Data[0] })
Version = $Data[-1] # last line is always the version number.
}
return $VersionInfo
}
function Load-Assembly([string] $Assembly) {
try {
Add-Type -Assembly $Assembly | Out-Null
}
catch {
# On Nano Server, Powershell Core Edition is used. Add-Type is unable to resolve base class assemblies because they are not GAC'd.
# Loading the base class assemblies is not unnecessary as the types will automatically get resolved.
}
}
function GetHTTPResponse([Uri] $Uri)
{
Invoke-With-Retry(
{
$HttpClient = $null
try {
# HttpClient is used vs Invoke-WebRequest in order to support Nano Server which doesn't support the Invoke-WebRequest cmdlet.
Load-Assembly -Assembly System.Net.Http
if(-not $ProxyAddress) {
try {
# Despite no proxy being explicitly specified, we may still be behind a default proxy
$DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy;
if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) {
$ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString
$ProxyUseDefaultCredentials = $true
}
} catch {
# Eat the exception and move forward as the above code is an attempt
# at resolving the DefaultProxy that may not have been a problem.
$ProxyAddress = $null
Say-Verbose("Exception ignored: $_.Exception.Message - moving forward...")
}
}
if($ProxyAddress) {
$HttpClientHandler = New-Object System.Net.Http.HttpClientHandler
$HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{
Address=$ProxyAddress;
UseDefaultCredentials=$ProxyUseDefaultCredentials;
BypassList = $ProxyBypassList;
}
$HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler
}
else {
$HttpClient = New-Object System.Net.Http.HttpClient
}
# Default timeout for HttpClient is 100s. For a 50 MB download this assumes 500 KB/s average, any less will time out
# 20 minutes allows it to work over much slower connections.
$HttpClient.Timeout = New-TimeSpan -Minutes 20
$Response = $HttpClient.GetAsync("${Uri}${FeedCredential}").Result
if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode))) {
# The feed credential is potentially sensitive info. Do not log FeedCredential to console output.
$ErrorMsg = "Failed to download $Uri."
if ($Response -ne $null) {
$ErrorMsg += " $Response"
}
throw $ErrorMsg
}
return $Response
}
finally {
if ($HttpClient -ne $null) {
$HttpClient.Dispose()
}
}
})
}
function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Coherent) {
Say-Invocation $MyInvocation
$VersionFileUrl = $null
if ($Runtime -eq "dotnet") {
$VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.version"
}
elseif ($Runtime -eq "aspnetcore") {
$VersionFileUrl = "$UncachedFeed/aspnetcore/Runtime/$Channel/latest.version"
}
# Currently, the WindowsDesktop runtime is manufactured with the .Net core runtime
elseif ($Runtime -eq "windowsdesktop") {
$VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.version"
}
elseif (-not $Runtime) {
if ($Coherent) {
$VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.coherent.version"
}
else {
$VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.version"
}
}
else {
throw "Invalid value for `$Runtime"
}
try {
$Response = GetHTTPResponse -Uri $VersionFileUrl
}
catch {
throw "Could not resolve version information."
}
$StringContent = $Response.Content.ReadAsStringAsync().Result
switch ($Response.Content.Headers.ContentType) {
{ ($_ -eq "application/octet-stream") } { $VersionText = $StringContent }
{ ($_ -eq "text/plain") } { $VersionText = $StringContent }
{ ($_ -eq "text/plain; charset=UTF-8") } { $VersionText = $StringContent }
default { throw "``$Response.Content.Headers.ContentType`` is an unknown .version file content type." }
}
$VersionInfo = Get-Version-Info-From-Version-Text $VersionText
return $VersionInfo
}
function Parse-Jsonfile-For-Version([string]$JSonFile) {
Say-Invocation $MyInvocation
If (-Not (Test-Path $JSonFile)) {
throw "Unable to find '$JSonFile'"
}
try {
$JSonContent = Get-Content($JSonFile) -Raw | ConvertFrom-Json | Select-Object -expand "sdk" -ErrorAction SilentlyContinue
}
catch {
throw "Json file unreadable: '$JSonFile'"
}
if ($JSonContent) {
try {
$JSonContent.PSObject.Properties | ForEach-Object {
$PropertyName = $_.Name
if ($PropertyName -eq "version") {
$Version = $_.Value
Say-Verbose "Version = $Version"
}
}
}
catch {
throw "Unable to parse the SDK node in '$JSonFile'"
}
}
else {
throw "Unable to find the SDK node in '$JSonFile'"
}
If ($Version -eq $null) {
throw "Unable to find the SDK:version node in '$JSonFile'"
}
return $Version
}
function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$Channel, [string]$Version, [string]$JSonFile) {
Say-Invocation $MyInvocation
if (-not $JSonFile) {
switch ($Version.ToLower()) {
{ $_ -eq "latest" } {
$LatestVersionInfo = Get-Latest-Version-Info -AzureFeed $AzureFeed -Channel $Channel -Coherent $False
return $LatestVersionInfo.Version
}
{ $_ -eq "coherent" } {
$LatestVersionInfo = Get-Latest-Version-Info -AzureFeed $AzureFeed -Channel $Channel -Coherent $True
return $LatestVersionInfo.Version
}
default { return $Version }
}
}
else {
return Parse-Jsonfile-For-Version $JSonFile
}
}
function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) {
Say-Invocation $MyInvocation
# If anything fails in this lookup it will default to $SpecificVersion
$SpecificProductVersion = Get-Product-Version -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion
if ($Runtime -eq "dotnet") {
$PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-runtime-$SpecificProductVersion-win-$CLIArchitecture.zip"
}
elseif ($Runtime -eq "aspnetcore") {
$PayloadURL = "$AzureFeed/aspnetcore/Runtime/$SpecificVersion/aspnetcore-runtime-$SpecificProductVersion-win-$CLIArchitecture.zip"
}
elseif ($Runtime -eq "windowsdesktop") {
$PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/windowsdesktop-runtime-$SpecificProductVersion-win-$CLIArchitecture.zip"
}
elseif (-not $Runtime) {
$PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-sdk-$SpecificProductVersion-win-$CLIArchitecture.zip"
}
else {
throw "Invalid value for `$Runtime"
}
Say-Verbose "Constructed primary named payload URL: $PayloadURL"
return $PayloadURL, $SpecificProductVersion
}
function Get-LegacyDownload-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) {
Say-Invocation $MyInvocation
if (-not $Runtime) {
$PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-dev-win-$CLIArchitecture.$SpecificVersion.zip"
}
elseif ($Runtime -eq "dotnet") {
$PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-win-$CLIArchitecture.$SpecificVersion.zip"
}
else {
return $null
}
Say-Verbose "Constructed legacy named payload URL: $PayloadURL"
return $PayloadURL
}
function Get-Product-Version([string]$AzureFeed, [string]$SpecificVersion) {
Say-Invocation $MyInvocation
if ($Runtime -eq "dotnet") {
$ProductVersionTxtURL = "$AzureFeed/Runtime/$SpecificVersion/productVersion.txt"
}
elseif ($Runtime -eq "aspnetcore") {
$ProductVersionTxtURL = "$AzureFeed/aspnetcore/Runtime/$SpecificVersion/productVersion.txt"
}
elseif ($Runtime -eq "windowsdesktop") {
$ProductVersionTxtURL = "$AzureFeed/Runtime/$SpecificVersion/productVersion.txt"
}
elseif (-not $Runtime) {
$ProductVersionTxtURL = "$AzureFeed/Sdk/$SpecificVersion/productVersion.txt"
}
else {
throw "Invalid value specified for `$Runtime"
}
Say-Verbose "Checking for existence of $ProductVersionTxtURL"
try {
$productVersionResponse = GetHTTPResponse($productVersionTxtUrl)
if ($productVersionResponse.StatusCode -eq 200) {
$productVersion = $productVersionResponse.Content.ReadAsStringAsync().Result.Trim()
if ($productVersion -ne $SpecificVersion)
{
Say "Using alternate version $productVersion found in $ProductVersionTxtURL"
}
return $productVersion
}
else {
Say-Verbose "Got StatusCode $($productVersionResponse.StatusCode) trying to get productVersion.txt at $productVersionTxtUrl, so using default value of $SpecificVersion"
$productVersion = $SpecificVersion
}
} catch {
Say-Verbose "Could not read productVersion.txt at $productVersionTxtUrl, so using default value of $SpecificVersion"
$productVersion = $SpecificVersion
}
return $productVersion
}
function Get-User-Share-Path() {
Say-Invocation $MyInvocation
$InstallRoot = $env:DOTNET_INSTALL_DIR
if (!$InstallRoot) {
$InstallRoot = "$env:LocalAppData\Microsoft\dotnet"
}
return $InstallRoot
}
function Resolve-Installation-Path([string]$InstallDir) {
Say-Invocation $MyInvocation
if ($InstallDir -eq "<auto>") {
return Get-User-Share-Path
}
return $InstallDir
}
function Is-Dotnet-Package-Installed([string]$InstallRoot, [string]$RelativePathToPackage, [string]$SpecificVersion) {
Say-Invocation $MyInvocation
$DotnetPackagePath = Join-Path -Path $InstallRoot -ChildPath $RelativePathToPackage | Join-Path -ChildPath $SpecificVersion
Say-Verbose "Is-Dotnet-Package-Installed: DotnetPackagePath=$DotnetPackagePath"
return Test-Path $DotnetPackagePath -PathType Container
}
function Get-Absolute-Path([string]$RelativeOrAbsolutePath) {
# Too much spam
# Say-Invocation $MyInvocation
return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($RelativeOrAbsolutePath)
}
function Get-Path-Prefix-With-Version($path) {
$match = [regex]::match($path, $VersionRegEx)
if ($match.Success) {
return $entry.FullName.Substring(0, $match.Index + $match.Length)
}
return $null
}
function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([System.IO.Compression.ZipArchive]$Zip, [string]$OutPath) {
Say-Invocation $MyInvocation
$ret = @()
foreach ($entry in $Zip.Entries) {
$dir = Get-Path-Prefix-With-Version $entry.FullName
if ($dir -ne $null) {
$path = Get-Absolute-Path $(Join-Path -Path $OutPath -ChildPath $dir)
if (-Not (Test-Path $path -PathType Container)) {
$ret += $dir
}
}
}
$ret = $ret | Sort-Object | Get-Unique
$values = ($ret | foreach { "$_" }) -join ";"
Say-Verbose "Directories to unpack: $values"
return $ret
}
# Example zip content and extraction algorithm:
# Rule: files if extracted are always being extracted to the same relative path locally
# .\
# a.exe # file does not exist locally, extract
# b.dll # file exists locally, override only if $OverrideFiles set
# aaa\ # same rules as for files
# ...
# abc\1.0.0\ # directory contains version and exists locally
# ... # do not extract content under versioned part
# abc\asd\ # same rules as for files
# ...
# def\ghi\1.0.1\ # directory contains version and does not exist locally
# ... # extract content
function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) {
Say-Invocation $MyInvocation
Load-Assembly -Assembly System.IO.Compression.FileSystem
Set-Variable -Name Zip
try {
$Zip = [System.IO.Compression.ZipFile]::OpenRead($ZipPath)
$DirectoriesToUnpack = Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package -Zip $Zip -OutPath $OutPath
foreach ($entry in $Zip.Entries) {
$PathWithVersion = Get-Path-Prefix-With-Version $entry.FullName
if (($PathWithVersion -eq $null) -Or ($DirectoriesToUnpack -contains $PathWithVersion)) {
$DestinationPath = Get-Absolute-Path $(Join-Path -Path $OutPath -ChildPath $entry.FullName)
$DestinationDir = Split-Path -Parent $DestinationPath
$OverrideFiles=$OverrideNonVersionedFiles -Or (-Not (Test-Path $DestinationPath))
if ((-Not $DestinationPath.EndsWith("\")) -And $OverrideFiles) {
New-Item -ItemType Directory -Force -Path $DestinationDir | Out-Null
[System.IO.Compression.ZipFileExtensions]::ExtractToFile($entry, $DestinationPath, $OverrideNonVersionedFiles)
}
}
}
}
finally {
if ($Zip -ne $null) {
$Zip.Dispose()
}
}
}
function DownloadFile($Source, [string]$OutPath) {
if ($Source -notlike "http*") {
# Using System.IO.Path.GetFullPath to get the current directory
# does not work in this context - $pwd gives the current directory
if (![System.IO.Path]::IsPathRooted($Source)) {
$Source = $(Join-Path -Path $pwd -ChildPath $Source)
}
$Source = Get-Absolute-Path $Source
Say "Copying file from $Source to $OutPath"
Copy-Item $Source $OutPath
return
}
$Stream = $null
try {
$Response = GetHTTPResponse -Uri $Source
$Stream = $Response.Content.ReadAsStreamAsync().Result
$File = [System.IO.File]::Create($OutPath)
$Stream.CopyTo($File)
$File.Close()
}
finally {
if ($Stream -ne $null) {
$Stream.Dispose()
}
}
}
function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot, [string]$BinFolderRelativePath) {
$BinPath = Get-Absolute-Path $(Join-Path -Path $InstallRoot -ChildPath $BinFolderRelativePath)
if (-Not $NoPath) {
$SuffixedBinPath = "$BinPath;"
if (-Not $env:path.Contains($SuffixedBinPath)) {
Say "Adding to current process PATH: `"$BinPath`". Note: This change will not be visible if PowerShell was run as a child process."
$env:path = $SuffixedBinPath + $env:path
} else {
Say-Verbose "Current process PATH already contains `"$BinPath`""
}
}
else {
Say "Binaries of dotnet can be found in $BinPath"
}
}
$CLIArchitecture = Get-CLIArchitecture-From-Architecture $Architecture
$SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $AzureFeed -Channel $Channel -Version $Version -JSonFile $JSonFile
$DownloadLink, $EffectiveVersion = Get-Download-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
$InstallRoot = Resolve-Installation-Path $InstallDir
Say-Verbose "InstallRoot: $InstallRoot"
$ScriptName = $MyInvocation.MyCommand.Name
if ($DryRun) {
Say "Payload URLs:"
Say "Primary named payload URL: $DownloadLink"
if ($LegacyDownloadLink) {
Say "Legacy named payload URL: $LegacyDownloadLink"
}
$RepeatableCommand = ".\$ScriptName -Version `"$SpecificVersion`" -InstallDir `"$InstallRoot`" -Architecture `"$CLIArchitecture`""
if ($Runtime -eq "dotnet") {
$RepeatableCommand+=" -Runtime `"dotnet`""
}
elseif ($Runtime -eq "aspnetcore") {
$RepeatableCommand+=" -Runtime `"aspnetcore`""
}
foreach ($key in $MyInvocation.BoundParameters.Keys) {
if (-not (@("Architecture","Channel","DryRun","InstallDir","Runtime","SharedRuntime","Version") -contains $key)) {
$RepeatableCommand+=" -$key `"$($MyInvocation.BoundParameters[$key])`""
}
}
Say "Repeatable invocation: $RepeatableCommand"
exit 0
}
if ($Runtime -eq "dotnet") {
$assetName = ".NET Core Runtime"
$dotnetPackageRelativePath = "shared\Microsoft.NETCore.App"
}
elseif ($Runtime -eq "aspnetcore") {
$assetName = "ASP.NET Core Runtime"
$dotnetPackageRelativePath = "shared\Microsoft.AspNetCore.App"
}
elseif ($Runtime -eq "windowsdesktop") {
$assetName = ".NET Core Windows Desktop Runtime"
$dotnetPackageRelativePath = "shared\Microsoft.WindowsDesktop.App"
}
elseif (-not $Runtime) {
$assetName = ".NET Core SDK"
$dotnetPackageRelativePath = "sdk"
}
else {
throw "Invalid value for `$Runtime"
}
if ($SpecificVersion -ne $EffectiveVersion)
{
Say "Performing installation checks for effective version: $EffectiveVersion"
$SpecificVersion = $EffectiveVersion
}
# Check if the SDK version is already installed.
$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion
if ($isAssetInstalled) {
Say "$assetName version $SpecificVersion is already installed."
Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot -BinFolderRelativePath $BinFolderRelativePath
exit 0
}
New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null
$installDrive = $((Get-Item $InstallRoot).PSDrive.Name);
$diskInfo = Get-PSDrive -Name $installDrive
if ($diskInfo.Free / 1MB -le 100) {
Say "There is not enough disk space on drive ${installDrive}:"
exit 0
}
$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName())
Say-Verbose "Zip path: $ZipPath"
$DownloadFailed = $false
Say "Downloading link: $DownloadLink"
try {
DownloadFile -Source $DownloadLink -OutPath $ZipPath
}
catch {
Say "Cannot download: $DownloadLink"
if ($LegacyDownloadLink) {
$DownloadLink = $LegacyDownloadLink
$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName())
Say-Verbose "Legacy zip path: $ZipPath"
Say "Downloading legacy link: $DownloadLink"
try {
DownloadFile -Source $DownloadLink -OutPath $ZipPath
}
catch {
Say "Cannot download: $DownloadLink"
$DownloadFailed = $true
}
}
else {
$DownloadFailed = $true
}
}
if ($DownloadFailed) {
throw "Could not find/download: `"$assetName`" with version = $SpecificVersion`nRefer to: https://aka.ms/dotnet-os-lifecycle for information on .NET Core support"
}
Say "Extracting zip from $DownloadLink"
Extract-Dotnet-Package -ZipPath $ZipPath -OutPath $InstallRoot
# Check if the SDK version is installed; if not, fail the installation.
$isAssetInstalled = $false
# if the version contains "RTM" or "servicing"; check if a 'release-type' SDK version is installed.
if ($SpecificVersion -Match "rtm" -or $SpecificVersion -Match "servicing") {
$ReleaseVersion = $SpecificVersion.Split("-")[0]
Say-Verbose "Checking installation: version = $ReleaseVersion"
$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $ReleaseVersion
}
# Check if the SDK version is installed.
if (!$isAssetInstalled) {
Say-Verbose "Checking installation: version = $SpecificVersion"
$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion
}
if (!$isAssetInstalled) {
throw "`"$assetName`" with version = $SpecificVersion failed to install with an unknown error."
}
Remove-Item $ZipPath
Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot -BinFolderRelativePath $BinFolderRelativePath
Say "Installation finished"
exit 0

File diff suppressed because it is too large Load Diff

View File

@ -67,6 +67,7 @@ jobs:
/p:MaestroApiEndpoint=https://maestro-prod.westus2.cloudapp.azure.com
/p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }}
/p:Configuration=$(_BuildConfig)
/p:OfficialBuildId=$(Build.BuildNumber)
condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }}
@ -87,11 +88,6 @@ jobs:
ArtifactName: ReleaseConfigs
- ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
- task: PublishBuildArtifacts@1
displayName: Publish Logs to VSTS
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)'
PublishLocation: Container
ArtifactName: $(Agent.Os)_PublishBuildAssets
continueOnError: true
condition: always()
- template: /eng/common/templates/steps/publish-logs.yml
parameters:
JobLabel: 'Publish_Artifacts_Logs'

View File

@ -3,21 +3,20 @@ parameters:
JobLabel: ''
steps:
- task: Powershell@2
displayName: Prepare Binlogs to Upload
- task: CopyFiles@2
displayName: Copy Logs to $(Build.StagingDirectory)\BuildLogs
inputs:
targetType: inline
script: |
New-Item -ItemType Directory $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
Move-Item -Path $(Build.SourcesDirectory)/artifacts/log/Debug/* $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
SourceFolder: $(Build.SourcesDirectory)\artifacts
Contents: |
**/*.log
**/*.binlog
TargetFolder: '$(Build.StagingDirectory)\BuildLogs'
continueOnError: true
condition: always()
- task: PublishBuildArtifacts@1
displayName: Publish Logs
condition: succeededOrFailed()
- task: PublishPipelineArtifact@1
displayName: Publish BuildLogs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/PostBuildLogs'
PublishLocation: Container
ArtifactName: PostBuildLogs
continueOnError: true
condition: always()
targetPath: '$(Build.StagingDirectory)\BuildLogs'
artifactName: ${{ parameters.JobLabel }}
condition: succeededOrFailed()

View File

@ -57,11 +57,15 @@ set-strictmode -version 2.0
$ErrorActionPreference = 'Stop'
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# If specifies, provides an alternate path for getting .NET Core SDKs and Runtimes. This script will still try public sources first.
# If specified, provides an alternate path for getting .NET Core SDKs and Runtimes. This script will still try public sources first.
[string]$runtimeSourceFeed = if (Test-Path variable:runtimeSourceFeed) { $runtimeSourceFeed } else { $null }
# Base-64 encoded SAS token that has permission to storage container described by $runtimeSourceFeed
[string]$runtimeSourceFeedKey = if (Test-Path variable:runtimeSourceFeedKey) { $runtimeSourceFeedKey } else { $null }
# If false, use copy of dotnet-install from /eng/common/dotnet-install-scripts (for custom behaviors).
# otherwise will fetch from public location.
[bool]$useDefaultDotnetInstall = if (Test-Path variable:useDefaultDotnetInstall) { $useDefaultDotnetInstall } else { $false }
function Create-Directory ([string[]] $path) {
New-Item -Path $path -Force -ItemType 'Directory' | Out-Null
}
@ -193,37 +197,46 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) {
function GetDotNetInstallScript([string] $dotnetRoot) {
$installScript = Join-Path $dotnetRoot 'dotnet-install.ps1'
if (!(Test-Path $installScript)) {
Create-Directory $dotnetRoot
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
create-directory $dotnetroot
$maxRetries = 5
$retries = 1
if ($useDefaultDotnetInstall)
{
$progresspreference = 'silentlycontinue' # don't display the console progress ui - it's a huge perf hit
$uri = "https://dot.net/$dotnetInstallScriptVersion/dotnet-install.ps1"
$maxretries = 5
$retries = 1
while($true) {
try {
Write-Host "GET $uri"
Invoke-WebRequest $uri -OutFile $installScript
break
$uri = "https://dot.net/$dotnetinstallscriptversion/dotnet-install.ps1"
while($true) {
try {
write-host "get $uri"
invoke-webrequest $uri -outfile $installscript
break
}
catch {
write-host "failed to download '$uri'"
write-error $_.exception.message -erroraction continue
}
if (++$retries -le $maxretries) {
$delayinseconds = [math]::pow(2, $retries) - 1 # exponential backoff
write-host "retrying. waiting for $delayinseconds seconds before next attempt ($retries of $maxretries)."
start-sleep -seconds $delayinseconds
}
else {
throw "unable to download file in $maxretries attempts."
}
}
catch {
Write-Host "Failed to download '$uri'"
Write-Error $_.Exception.Message -ErrorAction Continue
}
if (++$retries -le $maxRetries) {
$delayInSeconds = [math]::Pow(2, $retries) - 1 # Exponential backoff
Write-Host "Retrying. Waiting for $delayInSeconds seconds before next attempt ($retries of $maxRetries)."
Start-Sleep -Seconds $delayInSeconds
}
else {
throw "Unable to download file in $maxRetries attempts."
}
}
else
{
# Use a special version of the script from eng/common that understands the existence of a "productVersion.txt" in a dotnet path.
# See https://github.com/dotnet/arcade/issues/6047 for details
$engCommonCopy = Resolve-Path (Join-Path $PSScriptRoot 'dotnet-install-scripts\dotnet-install.ps1')
Copy-Item $engCommonCopy -Destination $installScript -Force
}
}
return $installScript
}

View File

@ -68,6 +68,10 @@ fi
runtime_source_feed=${runtime_source_feed:-''}
runtime_source_feed_key=${runtime_source_feed_key:-''}
# Determines if dotnet-install.sh comes from the eng/common folder or the internet
# (default = public version)
use_default_dotnet_install=${use_default_dotnet_install:-false}
# Resolve any symlinks in the given path.
function ResolvePath {
local path=$1
@ -267,23 +271,30 @@ function GetDotNetInstallScript {
if [[ ! -a "$install_script" ]]; then
mkdir -p "$root"
echo "Downloading '$install_script_url'"
if [[ "$use_default_dotnet_install" == true ]]; then
echo "Downloading '$install_script_url'"
# Use curl if available, otherwise use wget
if command -v curl > /dev/null; then
with_retries curl "$install_script_url" -sSL --retry 10 --create-dirs -o "$install_script" || {
local exit_code=$?
Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to acquire dotnet install script (exit code '$exit_code')."
ExitWithExitCode $exit_code
}
# Use curl if available, otherwise use wget
if command -v curl > /dev/null; then
with_retries curl "$install_script_url" -sSL --retry 10 --create-dirs -o "$install_script" || {
local exit_code=$?
Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to acquire dotnet install script (exit code '$exit_code')."
ExitWithExitCode $exit_code
}
else
with_retries wget -v -O "$install_script" "$install_script_url" || {
local exit_code=$?
Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to acquire dotnet install script (exit code '$exit_code')."
ExitWithExitCode $exit_code
}
fi
else
with_retries wget -v -O "$install_script" "$install_script_url" || {
local exit_code=$?
Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to acquire dotnet install script (exit code '$exit_code')."
ExitWithExitCode $exit_code
}
# Use a special version of the script from eng/common that understands the existence of a "productVersion.txt" in a dotnet path.
# See https://github.com/dotnet/arcade/issues/6047 for details
cp $repo_root/eng/common/dotnet-install-scripts/dotnet-install.sh $install_script
fi
fi
# return value
_GetDotNetInstallScript="$install_script"
}

View File

@ -21,14 +21,9 @@ namespace RunTests
description: "The test dll to run")
{ Argument = new Argument<string>(), Required = true },
new Option(
aliases: new string[] { "--sdk" },
description: "The version of the sdk being used")
{ Argument = new Argument<string>(), Required = true },
new Option(
aliases: new string[] { "--runtime" },
description: "The version of the runtime being used")
description: "The version of the ASP.NET runtime being installed and used")
{ Argument = new Argument<string>(), Required = true },
new Option(
@ -70,7 +65,6 @@ namespace RunTests
var parseResult = command.Parse(args);
var options = new RunTestsOptions();
options.Target = parseResult.ValueForOption<string>("--target");
options.SdkVersion = parseResult.ValueForOption<string>("--sdk");
options.RuntimeVersion = parseResult.ValueForOption<string>("--runtime");
options.HelixQueue = parseResult.ValueForOption<string>("--queue");
options.Architecture = parseResult.ValueForOption<string>("--arch");

View File

@ -6,14 +6,16 @@ REM Use '$' as a variable name prefix to avoid MSBuild variable collisions with
set $target=%1
set $sdkVersion=%2
set $runtimeVersion=%3
set $queue=%4
set $arch=%5
set $quarantined=%6
set $ef=%7
set $aspnetruntime=%8
set $aspnetref=%9
set $aspRuntimeVersion=%4
set $queue=%5
set $arch=%6
set $quarantined=%7
set $ef=%8
set $aspnetruntime=%9
REM Batch only supports up to 9 arguments using the %# syntax, need to shift to get more
shift
set $aspnetref=%9
shift
set $helixTimeout=%9
set DOTNET_HOME=%HELIX_CORRELATION_PAYLOAD%\sdk
@ -31,8 +33,8 @@ set exit_code=0
echo "Restore: dotnet restore RunTests\RunTests.csproj --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json --source https://api.nuget.org/v3/index.json --ignore-failed-sources..."
dotnet restore RunTests\RunTests.csproj --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json --source https://api.nuget.org/v3/index.json --ignore-failed-sources
echo "Running tests: dotnet run --project RunTests\RunTests.csproj -- --target %$target% --sdk %$sdkVersion% --runtime %$runtimeVersion% --queue %$queue% --arch %$arch% --quarantined %$quarantined% --ef %$ef% --aspnetruntime %$aspnetruntime% --aspnetref %$aspnetref% --helixTimeout %$helixTimeout%..."
dotnet run --project RunTests\RunTests.csproj -- --target %$target% --sdk %$sdkVersion% --runtime %$runtimeVersion% --queue %$queue% --arch %$arch% --quarantined %$quarantined% --ef %$ef% --aspnetruntime %$aspnetruntime% --aspnetref %$aspnetref% --helixTimeout %$helixTimeout%
echo "Running tests: dotnet run --project RunTests\RunTests.csproj -- --target %$target% --runtime %$aspRuntimeVersion% --queue %$queue% --arch %$arch% --quarantined %$quarantined% --ef %$ef% --aspnetruntime %$aspnetruntime% --aspnetref %$aspnetref% --helixTimeout %$helixTimeout%..."
dotnet run --project RunTests\RunTests.csproj -- --target %$target% --runtime %$aspRuntimeVersion% --queue %$queue% --arch %$arch% --quarantined %$quarantined% --ef %$ef% --aspnetruntime %$aspnetruntime% --aspnetref %$aspnetref% --helixTimeout %$helixTimeout%
if errorlevel neq 0 (
set exit_code=%errorlevel%
)

View File

@ -88,8 +88,8 @@ sync
exit_code=0
echo "Restore: $DOTNET_ROOT/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..."
$DOTNET_ROOT/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources
echo "Running tests: $DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --sdk $2 --runtime $3 --queue $4 --arch $5 --quarantined $6 --ef $7 --aspnetruntime $8 --aspnetref $9 --helixTimeout ${10}..."
$DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --sdk $2 --runtime $3 --queue $4 --arch $5 --quarantined $6 --ef $7 --aspnetruntime $8 --aspnetref $9 --helixTimeout ${10}
echo "Running tests: $DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $4 --queue $5 --arch $6 --quarantined $7 --ef $8 --aspnetruntime $9 --aspnetref ${10} --helixTimeout ${11}"
$DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $4 --queue $5 --arch $6 --quarantined $7 --ef $8 --aspnetruntime $9 --aspnetref ${10} --helixTimeout ${11}
exit_code=$?
echo "Finished tests...exit_code=$exit_code"

View File

@ -22,7 +22,6 @@
<HelixUseArchive>false</HelixUseArchive>
<LoggingTestingDisableFileLogging Condition="'$(IsHelixJob)' == 'true'">false</LoggingTestingDisableFileLogging>
<NodeVersion>10.15.3</NodeVersion>
<AppRuntimeVersion>5.0.0-ci</AppRuntimeVersion>
<TestDependsOnAspNetRuntime>false</TestDependsOnAspNetRuntime>
</PropertyGroup>

View File

@ -16,10 +16,6 @@
<HelixPreCommand Include="call RunPowershell.cmd InstallNode.ps1 $(NodeVersion) %25HELIX_CORRELATION_PAYLOAD%25\node\bin || exit /b 1" />
</ItemGroup>
<ItemGroup Condition="'$(IsHelixJob)' == 'true' AND '$(TestDependsOnAspNetRef)' == 'true' AND '$(IsTargetingPackBuilding)' == 'true'">
<HelixContent Include="$(RepoRoot)artifacts\packages\Release\Shipping\Microsoft.AspNetCore.App.Ref.$(AppRuntimeVersion).nupkg" />
</ItemGroup>
<ItemGroup Condition="'$(IsHelixJob)' == 'true' AND '$(TestDependsOnAspNetRuntime)' == 'true'">
<HelixContent Include="$(RepoRoot)artifacts\packages\Release\Shipping\*-ci.nupkg" />
</ItemGroup>
@ -91,11 +87,23 @@ Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj
</Target>
<Target Name="_CreateHelixWorkItem" Condition="$(BuildHelixPayload)">
<ItemGroup>
<HelixContent Include="$(OutputPath)/Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestAdapter.dll" />
<HelixContent Include="$(OutputPath)/Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestLogger.dll" />
<HelixContent Condition="'$(TestDependsOnAspNetRuntime)' == 'true'" Include="$(RepoRoot)artifacts\packages\Release\Shipping\Microsoft.AspNetCore.App.Runtime.win-x64.$(AppRuntimeVersion).nupkg" />
</ItemGroup>
<!--
Could use _GetPackageVersionInfo target (defined in eng/targets/Packaging.targets and included in every C#
and F# project) instead of the $(SharedFxVersion) property but the property works everywhere except in site
extensions projects. Could also use $(TargetingPackVersion) but that has slightly more complicated semantics
and doesn't keep up when in servicing.
-->
<ItemGroup Condition=" '$(TestDependsOnAspNetRef)' == 'true' AND '$(IsTargetingPackBuilding)' == 'true' ">
<HelixContent Include="$(RepoRoot)artifacts\packages\Release\Shipping\Microsoft.AspNetCore.App.Ref.$(SharedFxVersion).nupkg" />
</ItemGroup>
<ItemGroup Condition=" '$(TestDependsOnAspNetRuntime)' == 'true' ">
<HelixContent Include="$(RepoRoot)artifacts\packages\Release\Shipping\Microsoft.AspNetCore.App.Runtime.win-x64.$(SharedFxVersion).nupkg" />
</ItemGroup>
<PropertyGroup>
@ -117,8 +125,8 @@ Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj
<TestAssembly>$(TargetFileName)</TestAssembly>
<PreCommands>@(HelixPreCommand)</PreCommands>
<PostCommands>@(HelixPostCommand)</PostCommands>
<Command Condition="$(IsWindowsHelixQueue)">call runtests.cmd $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) Microsoft.AspNetCore.App.Runtime.win-x64.$(AppRuntimeVersion).nupkg Microsoft.AspNetCore.App.Ref.$(AppRuntimeVersion).nupkg $(HelixTimeout)</Command>
<Command Condition="!$(IsWindowsHelixQueue)">./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) Microsoft.AspNetCore.App.Runtime.win-x64.$(AppRuntimeVersion).nupkg Microsoft.AspNetCore.App.Ref.$(AppRuntimeVersion).nupkg $(HelixTimeout)</Command>
<Command Condition="$(IsWindowsHelixQueue)">call runtests.cmd $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) Microsoft.AspNetCore.App.Runtime.win-x64.$(SharedFxVersion).nupkg Microsoft.AspNetCore.App.Ref.$(SharedFxVersion).nupkg $(HelixTimeout)</Command>
<Command Condition="!$(IsWindowsHelixQueue)">./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) Microsoft.AspNetCore.App.Runtime.win-x64.$(SharedFxVersion).nupkg Microsoft.AspNetCore.App.Ref.$(SharedFxVersion).nupkg $(HelixTimeout)</Command>
<Command Condition="$(HelixCommand) != ''">$(HelixCommand)</Command>
<Timeout>$(HelixTimeout)</Timeout>
</HelixWorkItem>

View File

@ -30,7 +30,7 @@
},
"msbuild-sdks": {
"Yarn.MSBuild": "1.15.2",
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20427.5",
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20427.5"
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20431.1",
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20431.1"
}
}

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,33 @@
#nullable enable
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.AntiforgeryOptions() -> void
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.Cookie.get -> Microsoft.AspNetCore.Http.CookieBuilder!
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.Cookie.set -> void
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.FormFieldName.get -> string!
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.FormFieldName.set -> void
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.HeaderName.get -> string?
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.HeaderName.set -> void
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.SuppressXFrameOptionsHeader.get -> bool
Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.SuppressXFrameOptionsHeader.set -> void
Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet
Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.AntiforgeryTokenSet(string? requestToken, string? cookieToken, string! formFieldName, string? headerName) -> void
Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.CookieToken.get -> string?
Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.FormFieldName.get -> string!
Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.HeaderName.get -> string?
Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.RequestToken.get -> string?
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException.AntiforgeryValidationException(string! message) -> void
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException.AntiforgeryValidationException(string! message, System.Exception? innerException) -> void
Microsoft.AspNetCore.Antiforgery.IAntiforgery
Microsoft.AspNetCore.Antiforgery.IAntiforgery.GetAndStoreTokens(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet!
Microsoft.AspNetCore.Antiforgery.IAntiforgery.GetTokens(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet!
Microsoft.AspNetCore.Antiforgery.IAntiforgery.IsRequestValidAsync(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> System.Threading.Tasks.Task<bool>!
Microsoft.AspNetCore.Antiforgery.IAntiforgery.SetCookieTokenAndHeader(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> void
Microsoft.AspNetCore.Antiforgery.IAntiforgery.ValidateRequestAsync(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> System.Threading.Tasks.Task!
Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider
Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider.GetAdditionalData(Microsoft.AspNetCore.Http.HttpContext! context) -> string!
Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider.ValidateAdditionalData(Microsoft.AspNetCore.Http.HttpContext! context, string! additionalData) -> bool
Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions
static Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions.AddAntiforgery(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
static Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions.AddAntiforgery(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action<Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions!>! setupAction) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
static readonly Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.DefaultCookiePrefix -> string!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,4 @@
#nullable enable
Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup
Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup.AzureAppServicesHostingStartup() -> void
~Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup.Configure(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) -> void

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,3 @@
#nullable enable
Microsoft.AspNetCore.Hosting.AppServicesWebHostBuilderExtensions
~static Microsoft.AspNetCore.Hosting.AppServicesWebHostBuilderExtensions.UseAzureAppServices(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder

View File

@ -12,6 +12,8 @@
<NoWarn>$(NoWarn);NU5100</NoWarn>
<!-- Need to build this project in source build -->
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
<IsShipping>false</IsShipping>
</PropertyGroup>
<ItemGroup>

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,26 @@
#nullable enable
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationProvider
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationProvider.Dispose() -> void
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.KeyPerFileConfigurationSource() -> void
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.Optional.get -> bool
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.Optional.set -> void
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.ReloadDelay.get -> int
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.ReloadDelay.set -> void
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.ReloadOnChange.get -> bool
Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.ReloadOnChange.set -> void
Microsoft.Extensions.Configuration.KeyPerFileConfigurationBuilderExtensions
override Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationProvider.Load() -> void
~Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationProvider.KeyPerFileConfigurationProvider(Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource source) -> void
~Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.Build(Microsoft.Extensions.Configuration.IConfigurationBuilder builder) -> Microsoft.Extensions.Configuration.IConfigurationProvider
~Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.FileProvider.get -> Microsoft.Extensions.FileProviders.IFileProvider
~Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.FileProvider.set -> void
~Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.IgnoreCondition.get -> System.Func<string, bool>
~Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.IgnoreCondition.set -> void
~Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.IgnorePrefix.get -> string
~Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource.IgnorePrefix.set -> void
~override Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationProvider.ToString() -> string
~static Microsoft.Extensions.Configuration.KeyPerFileConfigurationBuilderExtensions.AddKeyPerFile(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, System.Action<Microsoft.Extensions.Configuration.KeyPerFile.KeyPerFileConfigurationSource> configureSource) -> Microsoft.Extensions.Configuration.IConfigurationBuilder
~static Microsoft.Extensions.Configuration.KeyPerFileConfigurationBuilderExtensions.AddKeyPerFile(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, string directoryPath) -> Microsoft.Extensions.Configuration.IConfigurationBuilder
~static Microsoft.Extensions.Configuration.KeyPerFileConfigurationBuilderExtensions.AddKeyPerFile(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, string directoryPath, bool optional) -> Microsoft.Extensions.Configuration.IConfigurationBuilder
~static Microsoft.Extensions.Configuration.KeyPerFileConfigurationBuilderExtensions.AddKeyPerFile(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, string directoryPath, bool optional, bool reloadOnChange) -> Microsoft.Extensions.Configuration.IConfigurationBuilder

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,16 @@
#nullable enable
Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions
Microsoft.AspNetCore.DataProtection.IDataProtectionProvider
Microsoft.AspNetCore.DataProtection.IDataProtectionProvider.CreateProtector(string! purpose) -> Microsoft.AspNetCore.DataProtection.IDataProtector!
Microsoft.AspNetCore.DataProtection.IDataProtector
Microsoft.AspNetCore.DataProtection.IDataProtector.Protect(byte[]! plaintext) -> byte[]!
Microsoft.AspNetCore.DataProtection.IDataProtector.Unprotect(byte[]! protectedData) -> byte[]!
Microsoft.AspNetCore.DataProtection.Infrastructure.IApplicationDiscriminator
Microsoft.AspNetCore.DataProtection.Infrastructure.IApplicationDiscriminator.Discriminator.get -> string!
static Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.CreateProtector(this Microsoft.AspNetCore.DataProtection.IDataProtectionProvider! provider, System.Collections.Generic.IEnumerable<string!>! purposes) -> Microsoft.AspNetCore.DataProtection.IDataProtector!
static Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.CreateProtector(this Microsoft.AspNetCore.DataProtection.IDataProtectionProvider! provider, string! purpose, params string![]! subPurposes) -> Microsoft.AspNetCore.DataProtection.IDataProtector!
static Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.GetDataProtectionProvider(this System.IServiceProvider! services) -> Microsoft.AspNetCore.DataProtection.IDataProtectionProvider!
static Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.GetDataProtector(this System.IServiceProvider! services, System.Collections.Generic.IEnumerable<string!>! purposes) -> Microsoft.AspNetCore.DataProtection.IDataProtector!
static Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.GetDataProtector(this System.IServiceProvider! services, string! purpose, params string![]! subPurposes) -> Microsoft.AspNetCore.DataProtection.IDataProtector!
static Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.Protect(this Microsoft.AspNetCore.DataProtection.IDataProtector! protector, string! plaintext) -> string!
static Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.Unprotect(this Microsoft.AspNetCore.DataProtection.IDataProtector! protector, string! protectedData) -> string!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,7 @@
#nullable enable
Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivation
Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf
Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf.HMACSHA1 = 0 -> Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf
Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf.HMACSHA256 = 1 -> Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf
Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf.HMACSHA512 = 2 -> Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf
static Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivation.Pbkdf2(string! password, byte[]! salt, Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf prf, int iterationCount, int numBytesRequested) -> byte[]!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,276 @@
#nullable enable
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.AuthenticatedEncryptorFactory
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.AuthenticatedEncryptorFactory.AuthenticatedEncryptorFactory(Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.AuthenticatedEncryptorFactory.CreateEncryptorInstance(Microsoft.AspNetCore.DataProtection.KeyManagement.IKey! key) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.CngCbcAuthenticatedEncryptorFactory
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.CngCbcAuthenticatedEncryptorFactory.CngCbcAuthenticatedEncryptorFactory(Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.CngCbcAuthenticatedEncryptorFactory.CreateEncryptorInstance(Microsoft.AspNetCore.DataProtection.KeyManagement.IKey! key) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.CngGcmAuthenticatedEncryptorFactory
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.CngGcmAuthenticatedEncryptorFactory.CngGcmAuthenticatedEncryptorFactory(Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.CngGcmAuthenticatedEncryptorFactory.CreateEncryptorInstance(Microsoft.AspNetCore.DataProtection.KeyManagement.IKey! key) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AlgorithmConfiguration
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AlgorithmConfiguration.AlgorithmConfiguration() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration.AuthenticatedEncryptorConfiguration() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration.EncryptionAlgorithm.get -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration.EncryptionAlgorithm.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration.ValidationAlgorithm.get -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ValidationAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration.ValidationAlgorithm.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptor
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptor.AuthenticatedEncryptorDescriptor(Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration! configuration, Microsoft.AspNetCore.DataProtection.ISecret! masterKey) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptor.ExportToXml() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer.AuthenticatedEncryptorDescriptorDeserializer() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer.ImportFromXml(System.Xml.Linq.XElement! element) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.CngCbcAuthenticatedEncryptorConfiguration() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.EncryptionAlgorithm.get -> string!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.EncryptionAlgorithm.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.EncryptionAlgorithmKeySize.get -> int
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.EncryptionAlgorithmKeySize.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.EncryptionAlgorithmProvider.get -> string!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.EncryptionAlgorithmProvider.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.HashAlgorithm.get -> string!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.HashAlgorithm.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.HashAlgorithmProvider.get -> string!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.HashAlgorithmProvider.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorDescriptor
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorDescriptor.CngCbcAuthenticatedEncryptorDescriptor(Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration! configuration, Microsoft.AspNetCore.DataProtection.ISecret! masterKey) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorDescriptor.ExportToXml() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorDescriptorDeserializer
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorDescriptorDeserializer.CngCbcAuthenticatedEncryptorDescriptorDeserializer() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorDescriptorDeserializer.ImportFromXml(System.Xml.Linq.XElement! element) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration.CngGcmAuthenticatedEncryptorConfiguration() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration.EncryptionAlgorithm.get -> string!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration.EncryptionAlgorithm.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration.EncryptionAlgorithmKeySize.get -> int
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration.EncryptionAlgorithmKeySize.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration.EncryptionAlgorithmProvider.get -> string!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration.EncryptionAlgorithmProvider.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorDescriptor
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorDescriptor.CngGcmAuthenticatedEncryptorDescriptor(Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration! configuration, Microsoft.AspNetCore.DataProtection.ISecret! masterKey) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorDescriptor.ExportToXml() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorDescriptorDeserializer
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorDescriptorDeserializer.CngGcmAuthenticatedEncryptorDescriptorDeserializer() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorDescriptorDeserializer.ImportFromXml(System.Xml.Linq.XElement! element) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor.ExportToXml() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptorDeserializer
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptorDeserializer.ImportFromXml(System.Xml.Linq.XElement! element) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration.EncryptionAlgorithmKeySize.get -> int
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration.EncryptionAlgorithmKeySize.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration.EncryptionAlgorithmType.get -> System.Type!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration.EncryptionAlgorithmType.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration.ManagedAuthenticatedEncryptorConfiguration() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration.ValidationAlgorithmType.get -> System.Type!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration.ValidationAlgorithmType.set -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorDescriptor
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorDescriptor.ExportToXml() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorDescriptor.ManagedAuthenticatedEncryptorDescriptor(Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration! configuration, Microsoft.AspNetCore.DataProtection.ISecret! masterKey) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorDescriptorDeserializer
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorDescriptorDeserializer.ImportFromXml(System.Xml.Linq.XElement! element) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorDescriptorDeserializer.ManagedAuthenticatedEncryptorDescriptorDeserializer() -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlExtensions
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo.DeserializerType.get -> System.Type!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo.SerializedDescriptorElement.get -> System.Xml.Linq.XElement!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlSerializedDescriptorInfo.XmlSerializedDescriptorInfo(System.Xml.Linq.XElement! serializedDescriptorElement, System.Type! deserializerType) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm.AES_128_CBC = 0 -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm.AES_128_GCM = 3 -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm.AES_192_CBC = 1 -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm.AES_192_GCM = 4 -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm.AES_256_CBC = 2 -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm.AES_256_GCM = 5 -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor.Decrypt(System.ArraySegment<byte> ciphertext, System.ArraySegment<byte> additionalAuthenticatedData) -> byte[]!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor.Encrypt(System.ArraySegment<byte> plaintext, System.ArraySegment<byte> additionalAuthenticatedData) -> byte[]!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptorFactory
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptorFactory.CreateEncryptorInstance(Microsoft.AspNetCore.DataProtection.KeyManagement.IKey! key) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ManagedAuthenticatedEncryptorFactory
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ManagedAuthenticatedEncryptorFactory.CreateEncryptorInstance(Microsoft.AspNetCore.DataProtection.KeyManagement.IKey! key) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor!
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ManagedAuthenticatedEncryptorFactory.ManagedAuthenticatedEncryptorFactory(Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ValidationAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ValidationAlgorithm.HMACSHA256 = 0 -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ValidationAlgorithm
Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ValidationAlgorithm.HMACSHA512 = 1 -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ValidationAlgorithm
Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions
Microsoft.AspNetCore.DataProtection.DataProtectionOptions
Microsoft.AspNetCore.DataProtection.DataProtectionOptions.ApplicationDiscriminator.get -> string!
Microsoft.AspNetCore.DataProtection.DataProtectionOptions.ApplicationDiscriminator.set -> void
Microsoft.AspNetCore.DataProtection.DataProtectionOptions.DataProtectionOptions() -> void
Microsoft.AspNetCore.DataProtection.DataProtectionUtilityExtensions
Microsoft.AspNetCore.DataProtection.EphemeralDataProtectionProvider
Microsoft.AspNetCore.DataProtection.EphemeralDataProtectionProvider.CreateProtector(string! purpose) -> Microsoft.AspNetCore.DataProtection.IDataProtector!
Microsoft.AspNetCore.DataProtection.EphemeralDataProtectionProvider.EphemeralDataProtectionProvider() -> void
Microsoft.AspNetCore.DataProtection.EphemeralDataProtectionProvider.EphemeralDataProtectionProvider(Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder
Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder.Services.get -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
Microsoft.AspNetCore.DataProtection.IPersistedDataProtector
Microsoft.AspNetCore.DataProtection.IPersistedDataProtector.DangerousUnprotect(byte[]! protectedData, bool ignoreRevocationErrors, out bool requiresMigration, out bool wasRevoked) -> byte[]!
Microsoft.AspNetCore.DataProtection.ISecret
Microsoft.AspNetCore.DataProtection.ISecret.Length.get -> int
Microsoft.AspNetCore.DataProtection.ISecret.WriteSecretIntoBuffer(System.ArraySegment<byte> buffer) -> void
Microsoft.AspNetCore.DataProtection.Internal.IActivator
Microsoft.AspNetCore.DataProtection.Internal.IActivator.CreateInstance(System.Type! expectedBaseType, string! implementationTypeName) -> object!
Microsoft.AspNetCore.DataProtection.KeyManagement.IKey
Microsoft.AspNetCore.DataProtection.KeyManagement.IKey.ActivationDate.get -> System.DateTimeOffset
Microsoft.AspNetCore.DataProtection.KeyManagement.IKey.CreateEncryptor() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor!
Microsoft.AspNetCore.DataProtection.KeyManagement.IKey.CreationDate.get -> System.DateTimeOffset
Microsoft.AspNetCore.DataProtection.KeyManagement.IKey.Descriptor.get -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
Microsoft.AspNetCore.DataProtection.KeyManagement.IKey.ExpirationDate.get -> System.DateTimeOffset
Microsoft.AspNetCore.DataProtection.KeyManagement.IKey.IsRevoked.get -> bool
Microsoft.AspNetCore.DataProtection.KeyManagement.IKey.KeyId.get -> System.Guid
Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyEscrowSink
Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyEscrowSink.Store(System.Guid keyId, System.Xml.Linq.XElement! element) -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager
Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager.CreateNewKey(System.DateTimeOffset activationDate, System.DateTimeOffset expirationDate) -> Microsoft.AspNetCore.DataProtection.KeyManagement.IKey!
Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager.GetAllKeys() -> System.Collections.Generic.IReadOnlyCollection<Microsoft.AspNetCore.DataProtection.KeyManagement.IKey!>!
Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager.GetCacheExpirationToken() -> System.Threading.CancellationToken
Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager.RevokeAllKeys(System.DateTimeOffset revocationDate, string! reason = null) -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager.RevokeKey(System.Guid keyId, string! reason = null) -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.CacheableKeyRing
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.DefaultKey -> Microsoft.AspNetCore.DataProtection.KeyManagement.IKey!
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.DefaultKeyResolution() -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.FallbackKey -> Microsoft.AspNetCore.DataProtection.KeyManagement.IKey!
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.ShouldGenerateNewKey -> bool
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.ICacheableKeyRingProvider
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.ICacheableKeyRingProvider.GetCacheableKeyRing(System.DateTimeOffset now) -> Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.CacheableKeyRing!
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IDefaultKeyResolver
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IDefaultKeyResolver.ResolveDefaultKeyPolicy(System.DateTimeOffset now, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.DataProtection.KeyManagement.IKey!>! allKeys) -> Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IInternalXmlKeyManager
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IInternalXmlKeyManager.CreateNewKey(System.Guid keyId, System.DateTimeOffset creationDate, System.DateTimeOffset activationDate, System.DateTimeOffset expirationDate) -> Microsoft.AspNetCore.DataProtection.KeyManagement.IKey!
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IInternalXmlKeyManager.DeserializeDescriptorFromKeyElement(System.Xml.Linq.XElement! keyElement) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IInternalXmlKeyManager.RevokeSingleKey(System.Guid keyId, System.DateTimeOffset revocationDate, string! reason) -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing.DefaultAuthenticatedEncryptor.get -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor!
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing.DefaultKeyId.get -> System.Guid
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing.GetAuthenticatedEncryptorByKeyId(System.Guid keyId, out bool isRevoked) -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor!
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRingProvider
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRingProvider.GetCurrentKeyRing() -> Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing!
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.AuthenticatedEncryptorConfiguration.get -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AlgorithmConfiguration!
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.AuthenticatedEncryptorConfiguration.set -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.AuthenticatedEncryptorFactories.get -> System.Collections.Generic.IList<Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptorFactory!>!
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.AutoGenerateKeys.get -> bool
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.AutoGenerateKeys.set -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.KeyEscrowSinks.get -> System.Collections.Generic.IList<Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyEscrowSink!>!
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.KeyManagementOptions() -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.NewKeyLifetime.get -> System.TimeSpan
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.NewKeyLifetime.set -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.XmlEncryptor.get -> Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlEncryptor!
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.XmlEncryptor.set -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.XmlRepository.get -> Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository!
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions.XmlRepository.set -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager
Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager.CreateNewKey(System.DateTimeOffset activationDate, System.DateTimeOffset expirationDate) -> Microsoft.AspNetCore.DataProtection.KeyManagement.IKey!
Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager.GetAllKeys() -> System.Collections.Generic.IReadOnlyCollection<Microsoft.AspNetCore.DataProtection.KeyManagement.IKey!>!
Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager.GetCacheExpirationToken() -> System.Threading.CancellationToken
Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager.RevokeAllKeys(System.DateTimeOffset revocationDate, string! reason = null) -> void
Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager.RevokeKey(System.Guid keyId, string! reason = null) -> void
Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository
Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository.Directory.get -> System.IO.DirectoryInfo!
Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository.FileSystemXmlRepository(System.IO.DirectoryInfo! directory, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository
Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository.GetAllElements() -> System.Collections.Generic.IReadOnlyCollection<System.Xml.Linq.XElement!>!
Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository.StoreElement(System.Xml.Linq.XElement! element, string! friendlyName) -> void
Microsoft.AspNetCore.DataProtection.Repositories.RegistryXmlRepository
Microsoft.AspNetCore.DataProtection.Repositories.RegistryXmlRepository.RegistryKey.get -> Microsoft.Win32.RegistryKey!
Microsoft.AspNetCore.DataProtection.Repositories.RegistryXmlRepository.RegistryXmlRepository(Microsoft.Win32.RegistryKey! registryKey, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.Secret
Microsoft.AspNetCore.DataProtection.Secret.Dispose() -> void
Microsoft.AspNetCore.DataProtection.Secret.Length.get -> int
Microsoft.AspNetCore.DataProtection.Secret.Secret(Microsoft.AspNetCore.DataProtection.ISecret! secret) -> void
Microsoft.AspNetCore.DataProtection.Secret.Secret(System.ArraySegment<byte> value) -> void
Microsoft.AspNetCore.DataProtection.Secret.Secret(byte* secret, int secretLength) -> void
Microsoft.AspNetCore.DataProtection.Secret.Secret(byte[]! value) -> void
Microsoft.AspNetCore.DataProtection.Secret.WriteSecretIntoBuffer(System.ArraySegment<byte> buffer) -> void
Microsoft.AspNetCore.DataProtection.Secret.WriteSecretIntoBuffer(byte* buffer, int bufferLength) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.CertificateResolver
Microsoft.AspNetCore.DataProtection.XmlEncryption.CertificateResolver.CertificateResolver() -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.CertificateXmlEncryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.CertificateXmlEncryptor.CertificateXmlEncryptor(System.Security.Cryptography.X509Certificates.X509Certificate2! certificate, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.CertificateXmlEncryptor.CertificateXmlEncryptor(string! thumbprint, Microsoft.AspNetCore.DataProtection.XmlEncryption.ICertificateResolver! certificateResolver, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.CertificateXmlEncryptor.Encrypt(System.Xml.Linq.XElement! plaintextElement) -> Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo!
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags.MachineKey = 32 -> Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags.NamedDescriptor = 1 -> Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags.None = 0 -> Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGXmlDecryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGXmlDecryptor.Decrypt(System.Xml.Linq.XElement! encryptedElement) -> System.Xml.Linq.XElement!
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGXmlDecryptor.DpapiNGXmlDecryptor() -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGXmlDecryptor.DpapiNGXmlDecryptor(System.IServiceProvider! services) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGXmlEncryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGXmlEncryptor.DpapiNGXmlEncryptor(string! protectionDescriptorRule, Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags flags, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGXmlEncryptor.Encrypt(System.Xml.Linq.XElement! plaintextElement) -> Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo!
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlDecryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlDecryptor.Decrypt(System.Xml.Linq.XElement! encryptedElement) -> System.Xml.Linq.XElement!
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlDecryptor.DpapiXmlDecryptor() -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlDecryptor.DpapiXmlDecryptor(System.IServiceProvider! services) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlEncryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlEncryptor.DpapiXmlEncryptor(bool protectToLocalMachine, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlEncryptor.Encrypt(System.Xml.Linq.XElement! plaintextElement) -> Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo!
Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlDecryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlDecryptor.Decrypt(System.Xml.Linq.XElement! encryptedElement) -> System.Xml.Linq.XElement!
Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlDecryptor.EncryptedXmlDecryptor() -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlDecryptor.EncryptedXmlDecryptor(System.IServiceProvider! services) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo
Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo.DecryptorType.get -> System.Type!
Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo.EncryptedElement.get -> System.Xml.Linq.XElement!
Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo.EncryptedXmlInfo(System.Xml.Linq.XElement! encryptedElement, System.Type! decryptorType) -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.ICertificateResolver
Microsoft.AspNetCore.DataProtection.XmlEncryption.ICertificateResolver.ResolveCertificate(string! thumbprint) -> System.Security.Cryptography.X509Certificates.X509Certificate2!
Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlDecryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlDecryptor.Decrypt(System.Xml.Linq.XElement! encryptedElement) -> System.Xml.Linq.XElement!
Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlEncryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlEncryptor.Encrypt(System.Xml.Linq.XElement! plaintextElement) -> Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo!
Microsoft.AspNetCore.DataProtection.XmlEncryption.NullXmlDecryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.NullXmlDecryptor.Decrypt(System.Xml.Linq.XElement! encryptedElement) -> System.Xml.Linq.XElement!
Microsoft.AspNetCore.DataProtection.XmlEncryption.NullXmlDecryptor.NullXmlDecryptor() -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.NullXmlEncryptor
Microsoft.AspNetCore.DataProtection.XmlEncryption.NullXmlEncryptor.Encrypt(System.Xml.Linq.XElement! plaintextElement) -> Microsoft.AspNetCore.DataProtection.XmlEncryption.EncryptedXmlInfo!
Microsoft.AspNetCore.DataProtection.XmlEncryption.NullXmlEncryptor.NullXmlEncryptor() -> void
Microsoft.AspNetCore.DataProtection.XmlEncryption.NullXmlEncryptor.NullXmlEncryptor(System.IServiceProvider! services) -> void
Microsoft.Extensions.DependencyInjection.DataProtectionServiceCollectionExtensions
abstract Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AlgorithmConfiguration.CreateNewDescriptor() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
override Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration.CreateNewDescriptor() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
override Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration.CreateNewDescriptor() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
override Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration.CreateNewDescriptor() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
override Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration.CreateNewDescriptor() -> Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor!
static Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.XmlExtensions.MarkAsRequiresEncryption(this System.Xml.Linq.XElement! element) -> void
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.AddKeyEscrowSink(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyEscrowSink! sink) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.AddKeyEscrowSink(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, System.Func<System.IServiceProvider!, Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyEscrowSink!>! factory) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.AddKeyEscrowSink<TImplementation>(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.AddKeyManagementOptions(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, System.Action<Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions!>! setupAction) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.DisableAutomaticKeyGeneration(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.PersistKeysToFileSystem(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, System.IO.DirectoryInfo! directory) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.PersistKeysToRegistry(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, Microsoft.Win32.RegistryKey! registryKey) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.ProtectKeysWithCertificate(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, System.Security.Cryptography.X509Certificates.X509Certificate2! certificate) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.ProtectKeysWithCertificate(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, string! thumbprint) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.ProtectKeysWithDpapi(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.ProtectKeysWithDpapi(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, bool protectToLocalMachine) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.ProtectKeysWithDpapiNG(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.ProtectKeysWithDpapiNG(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, string! protectionDescriptorRule, Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags flags) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.SetApplicationName(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, string! applicationName) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.SetDefaultKeyLifetime(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, System.TimeSpan lifetime) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.UnprotectKeysWithAnyCertificate(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, params System.Security.Cryptography.X509Certificates.X509Certificate2![]! certificates) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.UseCryptographicAlgorithms(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorConfiguration! configuration) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.UseCustomCryptographicAlgorithms(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration! configuration) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.UseCustomCryptographicAlgorithms(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration! configuration) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.UseCustomCryptographicAlgorithms(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration! configuration) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionBuilderExtensions.UseEphemeralDataProtectionProvider(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.DataProtectionUtilityExtensions.GetApplicationUniqueIdentifier(this System.IServiceProvider! services) -> string!
static Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository.DefaultKeyStorageDirectory.get -> System.IO.DirectoryInfo!
static Microsoft.AspNetCore.DataProtection.Repositories.RegistryXmlRepository.DefaultRegistryKey.get -> Microsoft.Win32.RegistryKey!
static Microsoft.AspNetCore.DataProtection.Secret.Random(int numBytes) -> Microsoft.AspNetCore.DataProtection.Secret!
static Microsoft.Extensions.DependencyInjection.DataProtectionServiceCollectionExtensions.AddDataProtection(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.Extensions.DependencyInjection.DataProtectionServiceCollectionExtensions.AddDataProtection(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action<Microsoft.AspNetCore.DataProtection.DataProtectionOptions!>! setupAction) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
virtual Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository.GetAllElements() -> System.Collections.Generic.IReadOnlyCollection<System.Xml.Linq.XElement!>!
virtual Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository.StoreElement(System.Xml.Linq.XElement! element, string! friendlyName) -> void
virtual Microsoft.AspNetCore.DataProtection.Repositories.RegistryXmlRepository.GetAllElements() -> System.Collections.Generic.IReadOnlyCollection<System.Xml.Linq.XElement!>!
virtual Microsoft.AspNetCore.DataProtection.Repositories.RegistryXmlRepository.StoreElement(System.Xml.Linq.XElement! element, string! friendlyName) -> void
virtual Microsoft.AspNetCore.DataProtection.XmlEncryption.CertificateResolver.ResolveCertificate(string! thumbprint) -> System.Security.Cryptography.X509Certificates.X509Certificate2!
~Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager.XmlKeyManager(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions!>! keyManagementOptions, Microsoft.AspNetCore.DataProtection.Internal.IActivator! activator) -> void
~Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager.XmlKeyManager(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions!>! keyManagementOptions, Microsoft.AspNetCore.DataProtection.Internal.IActivator! activator, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,17 @@
#nullable enable
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey.DataProtectionKey() -> void
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey.FriendlyName.get -> string?
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey.FriendlyName.set -> void
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey.Id.get -> int
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey.Id.set -> void
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey.Xml.get -> string?
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey.Xml.set -> void
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.EntityFrameworkCoreXmlRepository<TContext>
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.EntityFrameworkCoreXmlRepository<TContext>.EntityFrameworkCoreXmlRepository(System.IServiceProvider! services, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.EntityFrameworkCoreXmlRepository<TContext>.StoreElement(System.Xml.Linq.XElement! element, string! friendlyName) -> void
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.IDataProtectionKeyContext
Microsoft.AspNetCore.DataProtection.EntityFrameworkCoreDataProtectionExtensions
static Microsoft.AspNetCore.DataProtection.EntityFrameworkCoreDataProtectionExtensions.PersistKeysToDbContext<TContext>(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
virtual Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.EntityFrameworkCoreXmlRepository<TContext>.GetAllElements() -> System.Collections.Generic.IReadOnlyCollection<System.Xml.Linq.XElement!>!
~Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.IDataProtectionKeyContext.DataProtectionKeys.get -> Microsoft.EntityFrameworkCore.DbSet<Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey!>!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,18 @@
#nullable enable
Microsoft.AspNetCore.DataProtection.DataProtectionAdvancedExtensions
Microsoft.AspNetCore.DataProtection.DataProtectionProvider
Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector
Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector.CreateProtector(string! purpose) -> Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector!
Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector.Protect(byte[]! plaintext, System.DateTimeOffset expiration) -> byte[]!
Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector.Unprotect(byte[]! protectedData, out System.DateTimeOffset expiration) -> byte[]!
static Microsoft.AspNetCore.DataProtection.DataProtectionAdvancedExtensions.Protect(this Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector! protector, byte[]! plaintext, System.TimeSpan lifetime) -> byte[]!
static Microsoft.AspNetCore.DataProtection.DataProtectionAdvancedExtensions.Protect(this Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector! protector, string! plaintext, System.DateTimeOffset expiration) -> string!
static Microsoft.AspNetCore.DataProtection.DataProtectionAdvancedExtensions.Protect(this Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector! protector, string! plaintext, System.TimeSpan lifetime) -> string!
static Microsoft.AspNetCore.DataProtection.DataProtectionAdvancedExtensions.ToTimeLimitedDataProtector(this Microsoft.AspNetCore.DataProtection.IDataProtector! protector) -> Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector!
static Microsoft.AspNetCore.DataProtection.DataProtectionAdvancedExtensions.Unprotect(this Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector! protector, string! protectedData, out System.DateTimeOffset expiration) -> string!
static Microsoft.AspNetCore.DataProtection.DataProtectionProvider.Create(System.IO.DirectoryInfo! keyDirectory) -> Microsoft.AspNetCore.DataProtection.IDataProtectionProvider!
static Microsoft.AspNetCore.DataProtection.DataProtectionProvider.Create(System.IO.DirectoryInfo! keyDirectory, System.Action<Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!>! setupAction) -> Microsoft.AspNetCore.DataProtection.IDataProtectionProvider!
static Microsoft.AspNetCore.DataProtection.DataProtectionProvider.Create(System.IO.DirectoryInfo! keyDirectory, System.Action<Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!>! setupAction, System.Security.Cryptography.X509Certificates.X509Certificate2! certificate) -> Microsoft.AspNetCore.DataProtection.IDataProtectionProvider!
static Microsoft.AspNetCore.DataProtection.DataProtectionProvider.Create(System.IO.DirectoryInfo! keyDirectory, System.Security.Cryptography.X509Certificates.X509Certificate2! certificate) -> Microsoft.AspNetCore.DataProtection.IDataProtectionProvider!
static Microsoft.AspNetCore.DataProtection.DataProtectionProvider.Create(string! applicationName) -> Microsoft.AspNetCore.DataProtection.IDataProtectionProvider!
static Microsoft.AspNetCore.DataProtection.DataProtectionProvider.Create(string! applicationName, System.Security.Cryptography.X509Certificates.X509Certificate2! certificate) -> Microsoft.AspNetCore.DataProtection.IDataProtectionProvider!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,9 @@
#nullable enable
Microsoft.AspNetCore.DataProtection.StackExchangeRedis.RedisXmlRepository
Microsoft.AspNetCore.DataProtection.StackExchangeRedis.RedisXmlRepository.GetAllElements() -> System.Collections.Generic.IReadOnlyCollection<System.Xml.Linq.XElement!>!
Microsoft.AspNetCore.DataProtection.StackExchangeRedis.RedisXmlRepository.RedisXmlRepository(System.Func<StackExchange.Redis.IDatabase!>! databaseFactory, StackExchange.Redis.RedisKey key) -> void
Microsoft.AspNetCore.DataProtection.StackExchangeRedis.RedisXmlRepository.StoreElement(System.Xml.Linq.XElement! element, string! friendlyName) -> void
Microsoft.AspNetCore.DataProtection.StackExchangeRedisDataProtectionBuilderExtensions
static Microsoft.AspNetCore.DataProtection.StackExchangeRedisDataProtectionBuilderExtensions.PersistKeysToStackExchangeRedis(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, StackExchange.Redis.IConnectionMultiplexer! connectionMultiplexer) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.StackExchangeRedisDataProtectionBuilderExtensions.PersistKeysToStackExchangeRedis(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, StackExchange.Redis.IConnectionMultiplexer! connectionMultiplexer, StackExchange.Redis.RedisKey key) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!
static Microsoft.AspNetCore.DataProtection.StackExchangeRedisDataProtectionBuilderExtensions.PersistKeysToStackExchangeRedis(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder! builder, System.Func<StackExchange.Redis.IDatabase!>! databaseFactory, StackExchange.Redis.RedisKey key) -> Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,13 @@
#nullable enable
Microsoft.AspNetCore.WebHost
Microsoft.Extensions.Hosting.GenericHostBuilderExtensions
static Microsoft.AspNetCore.WebHost.CreateDefaultBuilder() -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.WebHost.CreateDefaultBuilder(string![]! args) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.WebHost.CreateDefaultBuilder<TStartup>(string![]! args) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.WebHost.Start(Microsoft.AspNetCore.Http.RequestDelegate! app) -> Microsoft.AspNetCore.Hosting.IWebHost!
static Microsoft.AspNetCore.WebHost.Start(System.Action<Microsoft.AspNetCore.Routing.IRouteBuilder!>! routeBuilder) -> Microsoft.AspNetCore.Hosting.IWebHost!
static Microsoft.AspNetCore.WebHost.Start(string! url, Microsoft.AspNetCore.Http.RequestDelegate! app) -> Microsoft.AspNetCore.Hosting.IWebHost!
static Microsoft.AspNetCore.WebHost.Start(string! url, System.Action<Microsoft.AspNetCore.Routing.IRouteBuilder!>! routeBuilder) -> Microsoft.AspNetCore.Hosting.IWebHost!
static Microsoft.AspNetCore.WebHost.StartWith(System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder!>! app) -> Microsoft.AspNetCore.Hosting.IWebHost!
static Microsoft.AspNetCore.WebHost.StartWith(string! url, System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder!>! app) -> Microsoft.AspNetCore.Hosting.IWebHost!
static Microsoft.Extensions.Hosting.GenericHostBuilderExtensions.ConfigureWebHostDefaults(this Microsoft.Extensions.Hosting.IHostBuilder! builder, System.Action<Microsoft.AspNetCore.Hosting.IWebHostBuilder!>! configure) -> Microsoft.Extensions.Hosting.IHostBuilder!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,228 @@
#nullable enable
Microsoft.AspNetCore.JsonPatch.Adapters.AdapterFactory
Microsoft.AspNetCore.JsonPatch.Adapters.AdapterFactory.AdapterFactory() -> void
Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory
Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter
Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapterWithTest
Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter
Microsoft.AspNetCore.JsonPatch.Converters.JsonPatchDocumentConverter
Microsoft.AspNetCore.JsonPatch.Converters.JsonPatchDocumentConverter.JsonPatchDocumentConverter() -> void
Microsoft.AspNetCore.JsonPatch.Converters.TypedJsonPatchDocumentConverter
Microsoft.AspNetCore.JsonPatch.Converters.TypedJsonPatchDocumentConverter.TypedJsonPatchDocumentConverter() -> void
Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException
Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException.JsonPatchException() -> void
Microsoft.AspNetCore.JsonPatch.Helpers.GetValueResult
Microsoft.AspNetCore.JsonPatch.Helpers.GetValueResult.HasError.get -> bool
Microsoft.AspNetCore.JsonPatch.IJsonPatchDocument
Microsoft.AspNetCore.JsonPatch.Internal.ConversionResult
Microsoft.AspNetCore.JsonPatch.Internal.ConversionResult.CanBeConverted.get -> bool
Microsoft.AspNetCore.JsonPatch.Internal.ConversionResultProvider
Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>
Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.DictionaryAdapter() -> void
Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter
Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.DynamicObjectAdapter() -> void
Microsoft.AspNetCore.JsonPatch.Internal.IAdapter
Microsoft.AspNetCore.JsonPatch.Internal.JObjectAdapter
Microsoft.AspNetCore.JsonPatch.Internal.JObjectAdapter.JObjectAdapter() -> void
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.ListAdapter() -> void
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType.Add = 0 -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType.Get = 2 -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType.Remove = 1 -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType.Replace = 3 -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionInfo
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionInfo.Index.get -> int
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionInfo.PositionInfo(Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType type, int index) -> void
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionInfo.Type.get -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType.EndOfList = 1 -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType.Index = 0 -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType.Invalid = 2 -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType
Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType.OutOfBounds = 3 -> Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType
Microsoft.AspNetCore.JsonPatch.Internal.ObjectVisitor
Microsoft.AspNetCore.JsonPatch.Internal.ParsedPath
Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter
Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.PocoAdapter() -> void
Microsoft.AspNetCore.JsonPatch.JsonPatchDocument
Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.JsonPatchDocument() -> void
Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.JsonPatchDocument() -> void
Microsoft.AspNetCore.JsonPatch.JsonPatchError
Microsoft.AspNetCore.JsonPatch.JsonPatchProperty
Microsoft.AspNetCore.JsonPatch.Operations.Operation
Microsoft.AspNetCore.JsonPatch.Operations.Operation.Operation() -> void
Microsoft.AspNetCore.JsonPatch.Operations.Operation.ShouldSerializevalue() -> bool
Microsoft.AspNetCore.JsonPatch.Operations.Operation<TModel>.Operation() -> void
Microsoft.AspNetCore.JsonPatch.Operations.OperationBase
Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.OperationBase() -> void
Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.OperationType.get -> Microsoft.AspNetCore.JsonPatch.Operations.OperationType
Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.ShouldSerializefrom() -> bool
Microsoft.AspNetCore.JsonPatch.Operations.OperationType
Microsoft.AspNetCore.JsonPatch.Operations.OperationType.Add = 0 -> Microsoft.AspNetCore.JsonPatch.Operations.OperationType
Microsoft.AspNetCore.JsonPatch.Operations.OperationType.Copy = 4 -> Microsoft.AspNetCore.JsonPatch.Operations.OperationType
Microsoft.AspNetCore.JsonPatch.Operations.OperationType.Invalid = 6 -> Microsoft.AspNetCore.JsonPatch.Operations.OperationType
Microsoft.AspNetCore.JsonPatch.Operations.OperationType.Move = 3 -> Microsoft.AspNetCore.JsonPatch.Operations.OperationType
Microsoft.AspNetCore.JsonPatch.Operations.OperationType.Remove = 1 -> Microsoft.AspNetCore.JsonPatch.Operations.OperationType
Microsoft.AspNetCore.JsonPatch.Operations.OperationType.Replace = 2 -> Microsoft.AspNetCore.JsonPatch.Operations.OperationType
Microsoft.AspNetCore.JsonPatch.Operations.OperationType.Test = 5 -> Microsoft.AspNetCore.JsonPatch.Operations.OperationType
~Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory.Create(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver) -> Microsoft.AspNetCore.JsonPatch.Internal.IAdapter
~Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter.Add(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter.Copy(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter.Move(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter.Remove(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter.Replace(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapterWithTest.Test(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.AdapterFactory.get -> Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Add(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.ContractResolver.get -> Newtonsoft.Json.Serialization.IContractResolver
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Copy(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.LogErrorAction.get -> System.Action<Microsoft.AspNetCore.JsonPatch.JsonPatchError>
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Move(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.ObjectAdapter(Newtonsoft.Json.Serialization.IContractResolver contractResolver, System.Action<Microsoft.AspNetCore.JsonPatch.JsonPatchError> logErrorAction) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.ObjectAdapter(Newtonsoft.Json.Serialization.IContractResolver contractResolver, System.Action<Microsoft.AspNetCore.JsonPatch.JsonPatchError> logErrorAction, Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory adapterFactory) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Remove(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Replace(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Test(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException.AffectedObject.get -> object
~Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException.FailedOperation.get -> Microsoft.AspNetCore.JsonPatch.Operations.Operation
~Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException.JsonPatchException(Microsoft.AspNetCore.JsonPatch.JsonPatchError jsonPatchError) -> void
~Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException.JsonPatchException(Microsoft.AspNetCore.JsonPatch.JsonPatchError jsonPatchError, System.Exception innerException) -> void
~Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException.JsonPatchException(string message, System.Exception innerException) -> void
~Microsoft.AspNetCore.JsonPatch.Helpers.GetValueResult.GetValueResult(object propertyValue, bool hasError) -> void
~Microsoft.AspNetCore.JsonPatch.Helpers.GetValueResult.PropertyValue.get -> object
~Microsoft.AspNetCore.JsonPatch.IJsonPatchDocument.ContractResolver.get -> Newtonsoft.Json.Serialization.IContractResolver
~Microsoft.AspNetCore.JsonPatch.IJsonPatchDocument.ContractResolver.set -> void
~Microsoft.AspNetCore.JsonPatch.IJsonPatchDocument.GetOperations() -> System.Collections.Generic.IList<Microsoft.AspNetCore.JsonPatch.Operations.Operation>
~Microsoft.AspNetCore.JsonPatch.Internal.ConversionResult.ConversionResult(bool canBeConverted, object convertedInstance) -> void
~Microsoft.AspNetCore.JsonPatch.Internal.ConversionResult.ConvertedInstance.get -> object
~Microsoft.AspNetCore.JsonPatch.Internal.IAdapter.TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~Microsoft.AspNetCore.JsonPatch.Internal.IAdapter.TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) -> bool
~Microsoft.AspNetCore.JsonPatch.Internal.IAdapter.TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) -> bool
~Microsoft.AspNetCore.JsonPatch.Internal.IAdapter.TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~Microsoft.AspNetCore.JsonPatch.Internal.IAdapter.TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~Microsoft.AspNetCore.JsonPatch.Internal.IAdapter.TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object nextTarget, out string errorMessage) -> bool
~Microsoft.AspNetCore.JsonPatch.Internal.ObjectVisitor.ObjectVisitor(Microsoft.AspNetCore.JsonPatch.Internal.ParsedPath path, Newtonsoft.Json.Serialization.IContractResolver contractResolver) -> void
~Microsoft.AspNetCore.JsonPatch.Internal.ObjectVisitor.ObjectVisitor(Microsoft.AspNetCore.JsonPatch.Internal.ParsedPath path, Newtonsoft.Json.Serialization.IContractResolver contractResolver, Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory adapterFactory) -> void
~Microsoft.AspNetCore.JsonPatch.Internal.ObjectVisitor.TryVisit(ref object target, out Microsoft.AspNetCore.JsonPatch.Internal.IAdapter adapter, out string errorMessage) -> bool
~Microsoft.AspNetCore.JsonPatch.Internal.ParsedPath.LastSegment.get -> string
~Microsoft.AspNetCore.JsonPatch.Internal.ParsedPath.ParsedPath(string path) -> void
~Microsoft.AspNetCore.JsonPatch.Internal.ParsedPath.Segments.get -> System.Collections.Generic.IReadOnlyList<string>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.Add(string path, object value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.ApplyTo(object objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.ApplyTo(object objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.ApplyTo(object objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter, System.Action<Microsoft.AspNetCore.JsonPatch.JsonPatchError> logErrorAction) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.ApplyTo(object objectToApplyTo, System.Action<Microsoft.AspNetCore.JsonPatch.JsonPatchError> logErrorAction) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.ContractResolver.get -> Newtonsoft.Json.Serialization.IContractResolver
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.ContractResolver.set -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.Copy(string from, string path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.JsonPatchDocument(System.Collections.Generic.List<Microsoft.AspNetCore.JsonPatch.Operations.Operation> operations, Newtonsoft.Json.Serialization.IContractResolver contractResolver) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.Move(string from, string path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.Operations.get -> System.Collections.Generic.List<Microsoft.AspNetCore.JsonPatch.Operations.Operation>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.Remove(string path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.Replace(string path, object value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument.Test(string path, object value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Add<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, TProp value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Add<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, TProp value, int position) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Add<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> path, TProp value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.ApplyTo(TModel objectToApplyTo) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.ApplyTo(TModel objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.ApplyTo(TModel objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter, System.Action<Microsoft.AspNetCore.JsonPatch.JsonPatchError> logErrorAction) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.ApplyTo(TModel objectToApplyTo, System.Action<Microsoft.AspNetCore.JsonPatch.JsonPatchError> logErrorAction) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.ContractResolver.get -> Newtonsoft.Json.Serialization.IContractResolver
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.ContractResolver.set -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Copy<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> from, int positionFrom, System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Copy<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> from, int positionFrom, System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, int positionTo) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Copy<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> from, int positionFrom, System.Linq.Expressions.Expression<System.Func<TModel, TProp>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Copy<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> from, System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Copy<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> from, System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, int positionTo) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Copy<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> from, System.Linq.Expressions.Expression<System.Func<TModel, TProp>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.JsonPatchDocument(System.Collections.Generic.List<Microsoft.AspNetCore.JsonPatch.Operations.Operation<TModel>> operations, Newtonsoft.Json.Serialization.IContractResolver contractResolver) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Move<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> from, int positionFrom, System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Move<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> from, int positionFrom, System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, int positionTo) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Move<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> from, int positionFrom, System.Linq.Expressions.Expression<System.Func<TModel, TProp>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Move<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> from, System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Move<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> from, System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, int positionTo) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Move<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> from, System.Linq.Expressions.Expression<System.Func<TModel, TProp>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Operations.get -> System.Collections.Generic.List<Microsoft.AspNetCore.JsonPatch.Operations.Operation<TModel>>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Remove<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Remove<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, int position) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Remove<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> path) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Replace<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, TProp value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Replace<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, TProp value, int position) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Replace<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> path, TProp value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Test<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, TProp value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Test<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, System.Collections.Generic.IList<TProp>>> path, TProp value, int position) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>.Test<TProp>(System.Linq.Expressions.Expression<System.Func<TModel, TProp>> path, TProp value) -> Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TModel>
~Microsoft.AspNetCore.JsonPatch.JsonPatchError.AffectedObject.get -> object
~Microsoft.AspNetCore.JsonPatch.JsonPatchError.ErrorMessage.get -> string
~Microsoft.AspNetCore.JsonPatch.JsonPatchError.JsonPatchError(object affectedObject, Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, string errorMessage) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchError.Operation.get -> Microsoft.AspNetCore.JsonPatch.Operations.Operation
~Microsoft.AspNetCore.JsonPatch.JsonPatchProperty.JsonPatchProperty(Newtonsoft.Json.Serialization.JsonProperty property, object parent) -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchProperty.Parent.get -> object
~Microsoft.AspNetCore.JsonPatch.JsonPatchProperty.Parent.set -> void
~Microsoft.AspNetCore.JsonPatch.JsonPatchProperty.Property.get -> Newtonsoft.Json.Serialization.JsonProperty
~Microsoft.AspNetCore.JsonPatch.JsonPatchProperty.Property.set -> void
~Microsoft.AspNetCore.JsonPatch.Operations.Operation.Apply(object objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter) -> void
~Microsoft.AspNetCore.JsonPatch.Operations.Operation.Operation(string op, string path, string from) -> void
~Microsoft.AspNetCore.JsonPatch.Operations.Operation.Operation(string op, string path, string from, object value) -> void
~Microsoft.AspNetCore.JsonPatch.Operations.Operation.value.get -> object
~Microsoft.AspNetCore.JsonPatch.Operations.Operation.value.set -> void
~Microsoft.AspNetCore.JsonPatch.Operations.Operation<TModel>
~Microsoft.AspNetCore.JsonPatch.Operations.Operation<TModel>.Apply(TModel objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter) -> void
~Microsoft.AspNetCore.JsonPatch.Operations.Operation<TModel>.Operation(string op, string path, string from) -> void
~Microsoft.AspNetCore.JsonPatch.Operations.Operation<TModel>.Operation(string op, string path, string from, object value) -> void
~Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.OperationBase(string op, string path, string from) -> void
~Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.from.get -> string
~Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.from.set -> void
~Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.op.get -> string
~Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.op.set -> void
~Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.path.get -> string
~Microsoft.AspNetCore.JsonPatch.Operations.OperationBase.path.set -> void
~override Microsoft.AspNetCore.JsonPatch.Converters.JsonPatchDocumentConverter.CanConvert(System.Type objectType) -> bool
~override Microsoft.AspNetCore.JsonPatch.Converters.JsonPatchDocumentConverter.ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) -> object
~override Microsoft.AspNetCore.JsonPatch.Converters.JsonPatchDocumentConverter.WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) -> void
~override Microsoft.AspNetCore.JsonPatch.Converters.TypedJsonPatchDocumentConverter.ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) -> object
~static Microsoft.AspNetCore.JsonPatch.Internal.ConversionResultProvider.ConvertTo(object value, System.Type typeToConvertTo) -> Microsoft.AspNetCore.JsonPatch.Internal.ConversionResult
~static Microsoft.AspNetCore.JsonPatch.Internal.ConversionResultProvider.CopyTo(object value, System.Type typeToConvertTo) -> Microsoft.AspNetCore.JsonPatch.Internal.ConversionResult
~virtual Microsoft.AspNetCore.JsonPatch.Adapters.AdapterFactory.Create(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver) -> Microsoft.AspNetCore.JsonPatch.Internal.IAdapter
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.TryConvertKey(string key, out TKey convertedKey, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.TryConvertValue(object value, out TValue convertedValue, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DictionaryAdapter<TKey, TValue>.TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object nextTarget, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TryConvertValue(object value, System.Type propertyType, out object convertedValue) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TryGetDynamicObjectProperty(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver, string segment, out object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TrySetDynamicObjectProperty(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver, string segment, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.DynamicObjectAdapter.TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object nextTarget, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.JObjectAdapter.TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.JObjectAdapter.TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.JObjectAdapter.TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.JObjectAdapter.TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.JObjectAdapter.TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.JObjectAdapter.TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object nextTarget, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryConvertValue(object originalValue, System.Type listTypeArgument, string segment, out object convertedValue, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryGetListTypeArgument(System.Collections.IList list, out System.Type listTypeArgument, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryGetPositionInfo(System.Collections.IList list, string segment, Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType operationType, out Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionInfo positionInfo, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.TryConvertValue(object value, System.Type propertyType, out object convertedValue) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.TryGetJsonProperty(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver, string segment, out Newtonsoft.Json.Serialization.JsonProperty jsonProperty) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) -> bool
~virtual Microsoft.AspNetCore.JsonPatch.Internal.PocoAdapter.TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) -> bool

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,25 @@
#nullable enable
Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo
Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo.Exists.get -> bool
Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo.IsDirectory.get -> bool
Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo.LastModified.get -> System.DateTimeOffset
Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo.Length.get -> long
Microsoft.Extensions.FileProviders.EmbeddedFileProvider
Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider
~Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo.CreateReadStream() -> System.IO.Stream
~Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo.EmbeddedResourceFileInfo(System.Reflection.Assembly assembly, string resourcePath, string name, System.DateTimeOffset lastModified) -> void
~Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo.Name.get -> string
~Microsoft.Extensions.FileProviders.Embedded.EmbeddedResourceFileInfo.PhysicalPath.get -> string
~Microsoft.Extensions.FileProviders.EmbeddedFileProvider.EmbeddedFileProvider(System.Reflection.Assembly assembly) -> void
~Microsoft.Extensions.FileProviders.EmbeddedFileProvider.EmbeddedFileProvider(System.Reflection.Assembly assembly, string baseNamespace) -> void
~Microsoft.Extensions.FileProviders.EmbeddedFileProvider.GetDirectoryContents(string subpath) -> Microsoft.Extensions.FileProviders.IDirectoryContents
~Microsoft.Extensions.FileProviders.EmbeddedFileProvider.GetFileInfo(string subpath) -> Microsoft.Extensions.FileProviders.IFileInfo
~Microsoft.Extensions.FileProviders.EmbeddedFileProvider.Watch(string pattern) -> Microsoft.Extensions.Primitives.IChangeToken
~Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider.Assembly.get -> System.Reflection.Assembly
~Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider.GetDirectoryContents(string subpath) -> Microsoft.Extensions.FileProviders.IDirectoryContents
~Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider.GetFileInfo(string subpath) -> Microsoft.Extensions.FileProviders.IFileInfo
~Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider.ManifestEmbeddedFileProvider(System.Reflection.Assembly assembly) -> void
~Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider.ManifestEmbeddedFileProvider(System.Reflection.Assembly assembly, string root) -> void
~Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider.ManifestEmbeddedFileProvider(System.Reflection.Assembly assembly, string root, System.DateTimeOffset lastModified) -> void
~Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider.ManifestEmbeddedFileProvider(System.Reflection.Assembly assembly, string root, string manifestName, System.DateTimeOffset lastModified) -> void
~Microsoft.Extensions.FileProviders.ManifestEmbeddedFileProvider.Watch(string filter) -> Microsoft.Extensions.Primitives.IChangeToken

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -2,8 +2,12 @@
// 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;
using System.Linq;
using System.Reflection;
using System.Reflection.Metadata;
using System.Reflection.PortableExecutable;
using Newtonsoft.Json.Linq;
using Xunit;
using Xunit.Abstractions;
@ -81,7 +85,7 @@ namespace Microsoft.AspNetCore
}
[Fact]
public void ItContainsValidRuntimeConfigFile()
public void SharedFrameworkContainsValidRuntimeConfigFile()
{
var runtimeConfigFilePath = Path.Combine(_sharedFxRoot, "Microsoft.AspNetCore.App.runtimeconfig.json");
@ -98,7 +102,7 @@ namespace Microsoft.AspNetCore
}
[Fact]
public void ItContainsValidDepsJson()
public void SharedFrameworkContainsValidDepsJson()
{
var depsFilePath = Path.Combine(_sharedFxRoot, "Microsoft.AspNetCore.App.deps.json");
@ -155,6 +159,46 @@ namespace Microsoft.AspNetCore
}
}
[Fact]
public void SharedFrameworkAssembliesHaveExpectedAssemblyVersions()
{
// Only test managed assemblies
IEnumerable<string> dlls = Directory.GetFiles(_sharedFxRoot, "*.dll", SearchOption.AllDirectories).Where(i => !i.Contains("aspnetcorev2_inprocess"));
Assert.NotEmpty(dlls);
Assert.All(dlls, path =>
{
using var fileStream = File.OpenRead(path);
using var peReader = new PEReader(fileStream, PEStreamOptions.Default);
var reader = peReader.GetMetadataReader(MetadataReaderOptions.Default);
var assemblyDefinition = reader.GetAssemblyDefinition();
// Assembly versions should all match Major.Minor.0.0
Assert.Equal(0, assemblyDefinition.Version.Build);
Assert.Equal(0, assemblyDefinition.Version.Revision);
});
}
[Fact]
public void SharedFrameworkAssemblyReferencesHaveExpectedAssemblyVersions()
{
IEnumerable<string> dlls = Directory.GetFiles(_sharedFxRoot, "*.dll", SearchOption.AllDirectories).Where(i => !i.Contains("aspnetcorev2_inprocess") && !i.Contains("System.Security.Cryptography.Xml", StringComparison.OrdinalIgnoreCase));
Assert.NotEmpty(dlls);
Assert.All(dlls, path =>
{
using var fileStream = File.OpenRead(path);
using var peReader = new PEReader(fileStream, PEStreamOptions.Default);
var reader = peReader.GetMetadataReader(MetadataReaderOptions.Default);
Assert.All(reader.AssemblyReferences, handle =>
{
var reference = reader.GetAssemblyReference(handle);
Assert.Equal(0, reference.Version.Revision);
});
});
}
[Fact]
public void ItContainsVersionFile()
{

View File

@ -89,6 +89,31 @@ namespace Microsoft.AspNetCore
});
}
[Fact]
public void RefAssemblyReferencesHaveExpectedAssemblyVersions()
{
if (!_isTargetingPackBuilding)
{
return;
}
IEnumerable<string> dlls = Directory.GetFiles(Path.Combine(_targetingPackRoot, "ref", _targetingPackTfm), "*.dll", SearchOption.AllDirectories);
Assert.NotEmpty(dlls);
Assert.All(dlls, path =>
{
using var fileStream = File.OpenRead(path);
using var peReader = new PEReader(fileStream, PEStreamOptions.Default);
var reader = peReader.GetMetadataReader(MetadataReaderOptions.Default);
Assert.All(reader.AssemblyReferences, handle =>
{
var reference = reader.GetAssemblyReference(handle);
Assert.Equal(0, reference.Version.Revision);
});
});
}
[Fact]
public void PackageOverridesContainsCorrectEntries()
{

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,51 @@
#nullable enable
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckContext
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckContext.HealthCheckContext() -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckContext.Registration.get -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckContext.Registration.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.Factory.get -> System.Func<System.IServiceProvider!, Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck!>!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.Factory.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.FailureStatus.get -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.FailureStatus.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.HealthCheckRegistration(string! name, Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck! instance, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, System.Collections.Generic.IEnumerable<string!>? tags) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.HealthCheckRegistration(string! name, Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck! instance, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, System.Collections.Generic.IEnumerable<string!>? tags, System.TimeSpan? timeout) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.HealthCheckRegistration(string! name, System.Func<System.IServiceProvider!, Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck!>! factory, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, System.Collections.Generic.IEnumerable<string!>? tags) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.HealthCheckRegistration(string! name, System.Func<System.IServiceProvider!, Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck!>! factory, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, System.Collections.Generic.IEnumerable<string!>? tags, System.TimeSpan? timeout) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.Name.get -> string!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.Name.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.Tags.get -> System.Collections.Generic.ISet<string!>!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.Timeout.get -> System.TimeSpan
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration.Timeout.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.Data.get -> System.Collections.Generic.IReadOnlyDictionary<string!, object!>!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.Description.get -> string?
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.Exception.get -> System.Exception?
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.HealthCheckResult(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus status, string? description = null, System.Exception? exception = null, System.Collections.Generic.IReadOnlyDictionary<string!, object!>? data = null) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.Status.get -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport.Entries.get -> System.Collections.Generic.IReadOnlyDictionary<string!, Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry>!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport.HealthReport(System.Collections.Generic.IReadOnlyDictionary<string!, Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry>! entries, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus status, System.TimeSpan totalDuration) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport.HealthReport(System.Collections.Generic.IReadOnlyDictionary<string!, Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry>! entries, System.TimeSpan totalDuration) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport.Status.get -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport.TotalDuration.get -> System.TimeSpan
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry.Data.get -> System.Collections.Generic.IReadOnlyDictionary<string!, object!>!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry.Description.get -> string?
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry.Duration.get -> System.TimeSpan
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry.Exception.get -> System.Exception?
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry.HealthReportEntry(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus status, string? description, System.TimeSpan duration, System.Exception? exception, System.Collections.Generic.IReadOnlyDictionary<string!, object!>? data) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry.HealthReportEntry(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus status, string? description, System.TimeSpan duration, System.Exception? exception, System.Collections.Generic.IReadOnlyDictionary<string!, object!>? data, System.Collections.Generic.IEnumerable<string!>? tags = null) -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry.Status.get -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus
Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry.Tags.get -> System.Collections.Generic.IEnumerable<string!>!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus
Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Degraded = 1 -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus
Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy = 2 -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus
Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Unhealthy = 0 -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus
Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck
Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck.CheckHealthAsync(Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckContext! context, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>!
Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheckPublisher
Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheckPublisher.PublishAsync(Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport! report, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task!
static Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.Degraded(string? description = null, System.Exception? exception = null, System.Collections.Generic.IReadOnlyDictionary<string!, object!>? data = null) -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult
static Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.Healthy(string? description = null, System.Collections.Generic.IReadOnlyDictionary<string!, object!>? data = null) -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult
static Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult.Unhealthy(string? description = null, System.Exception? exception = null, System.Collections.Generic.IReadOnlyDictionary<string!, object!>? data = null) -> Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult

View File

@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.Extensions.Diagnostics.HealthChecks;
namespace Microsoft.Extensions.DependencyInjection
@ -48,6 +49,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// <param name="tags">A list of tags that can be used to filter health checks.</param>
/// <param name="timeout">An optional <see cref="TimeSpan"/> representing the timeout of the check.</param>
/// <returns>The <see cref="IHealthChecksBuilder"/>.</returns>
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public static IHealthChecksBuilder AddCheck(
this IHealthChecksBuilder builder,
string name,
@ -121,6 +123,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// with any lifetime it will be used. Otherwise an instance of type <typeparamref name="T"/> will be constructed with
/// access to services from the dependency injection container.
/// </remarks>
[SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads.", Justification = "Required to maintain compatibility")]
public static IHealthChecksBuilder AddCheck<T>(
this IHealthChecksBuilder builder,
string name,

View File

@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Diagnostics.HealthChecks;
@ -41,6 +42,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// <param name="check">A delegate that provides the health check implementation.</param>
/// <param name="timeout">An optional <see cref="TimeSpan"/> representing the timeout of the check.</param>
/// <returns>The <see cref="IHealthChecksBuilder"/>.</returns>
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public static IHealthChecksBuilder AddCheck(
this IHealthChecksBuilder builder,
string name,
@ -94,6 +96,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// <param name="check">A delegate that provides the health check implementation.</param>
/// <param name="timeout">An optional <see cref="TimeSpan"/> representing the timeout of the check.</param>
/// <returns>The <see cref="IHealthChecksBuilder"/>.</returns>
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public static IHealthChecksBuilder AddCheck(
this IHealthChecksBuilder builder,
string name,
@ -147,6 +150,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// <param name="check">A delegate that provides the health check implementation.</param>
/// <param name="timeout">An optional <see cref="TimeSpan"/> representing the timeout of the check.</param>
/// <returns>The <see cref="IHealthChecksBuilder"/>.</returns>
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public static IHealthChecksBuilder AddAsyncCheck(
this IHealthChecksBuilder builder,
string name,
@ -200,6 +204,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// <param name="check">A delegate that provides the health check implementation.</param>
/// <param name="timeout">An optional <see cref="TimeSpan"/> representing the timeout of the check.</param>
/// <returns>The <see cref="IHealthChecksBuilder"/>.</returns>
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public static IHealthChecksBuilder AddAsyncCheck(
this IHealthChecksBuilder builder,
string name,

View File

@ -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.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
@ -38,6 +39,7 @@ namespace Microsoft.Extensions.Diagnostics.HealthChecks
/// A <see cref="Task{T}"/> which will complete when all the health checks have been run,
/// yielding a <see cref="HealthReport"/> containing the results.
/// </returns>
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public Task<HealthReport> CheckHealthAsync(CancellationToken cancellationToken = default)
{
return CheckHealthAsync(predicate: null, cancellationToken);
@ -54,6 +56,7 @@ namespace Microsoft.Extensions.Diagnostics.HealthChecks
/// A <see cref="Task{T}"/> which will complete when all the health checks have been run,
/// yielding a <see cref="HealthReport"/> containing the results.
/// </returns>
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public abstract Task<HealthReport> CheckHealthAsync(
Func<HealthCheckRegistration, bool>? predicate,
CancellationToken cancellationToken = default);

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,41 @@
#nullable enable
Microsoft.Extensions.DependencyInjection.HealthCheckServiceCollectionExtensions
Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions
Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions
Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder
Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder.Add(Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration! registration) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder.Services.get -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.Delay.get -> System.TimeSpan
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.Delay.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.HealthCheckPublisherOptions() -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.Period.get -> System.TimeSpan
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.Period.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.Predicate.get -> System.Func<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration!, bool>?
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.Predicate.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.Timeout.get -> System.TimeSpan
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckPublisherOptions.Timeout.set -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckService
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckService.CheckHealthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport!>!
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckService.HealthCheckService() -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckServiceOptions
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckServiceOptions.HealthCheckServiceOptions() -> void
Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckServiceOptions.Registrations.get -> System.Collections.Generic.ICollection<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration!>!
abstract Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckService.CheckHealthAsync(System.Func<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckRegistration!, bool>? predicate, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport!>!
static Microsoft.Extensions.DependencyInjection.HealthCheckServiceCollectionExtensions.AddHealthChecks(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions.AddCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck! instance, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus = null, System.Collections.Generic.IEnumerable<string!>? tags = null, System.TimeSpan? timeout = null) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions.AddCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck! instance, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, System.Collections.Generic.IEnumerable<string!>! tags) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions.AddCheck<T>(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus = null, System.Collections.Generic.IEnumerable<string!>? tags = null, System.TimeSpan? timeout = null) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions.AddCheck<T>(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, System.Collections.Generic.IEnumerable<string!>! tags) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions.AddTypeActivatedCheck<T>(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, System.Collections.Generic.IEnumerable<string!>! tags, System.TimeSpan timeout, params object![]! args) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions.AddTypeActivatedCheck<T>(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, System.Collections.Generic.IEnumerable<string!>? tags, params object![]! args) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions.AddTypeActivatedCheck<T>(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus, params object![]! args) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderAddCheckExtensions.AddTypeActivatedCheck<T>(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, params object![]! args) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions.AddAsyncCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, System.Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>!>! check, System.Collections.Generic.IEnumerable<string!>! tags) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions.AddAsyncCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, System.Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>!>! check, System.Collections.Generic.IEnumerable<string!>? tags = null, System.TimeSpan? timeout = null) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions.AddAsyncCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, System.Func<System.Threading.Tasks.Task<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>!>! check, System.Collections.Generic.IEnumerable<string!>! tags) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions.AddAsyncCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, System.Func<System.Threading.Tasks.Task<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>!>! check, System.Collections.Generic.IEnumerable<string!>? tags = null, System.TimeSpan? timeout = null) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions.AddCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, System.Func<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>! check, System.Collections.Generic.IEnumerable<string!>! tags) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions.AddCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, System.Func<Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>! check, System.Collections.Generic.IEnumerable<string!>? tags = null, System.TimeSpan? timeout = null) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions.AddCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, System.Func<System.Threading.CancellationToken, Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>! check, System.Collections.Generic.IEnumerable<string!>? tags = null, System.TimeSpan? timeout = null) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!
static Microsoft.Extensions.DependencyInjection.HealthChecksBuilderDelegateExtensions.AddCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder! builder, string! name, System.Func<System.Threading.CancellationToken, Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult>! check, System.Collections.Generic.IEnumerable<string!>? tags) -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,95 @@
#nullable enable
Microsoft.AspNetCore.Hosting.EnvironmentName
Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions
Microsoft.AspNetCore.Hosting.HostingEnvironmentExtensions
Microsoft.AspNetCore.Hosting.HostingStartupAttribute
Microsoft.AspNetCore.Hosting.HostingStartupAttribute.HostingStartupAttribute(System.Type! hostingStartupType) -> void
Microsoft.AspNetCore.Hosting.HostingStartupAttribute.HostingStartupType.get -> System.Type!
Microsoft.AspNetCore.Hosting.IApplicationLifetime
Microsoft.AspNetCore.Hosting.IApplicationLifetime.ApplicationStarted.get -> System.Threading.CancellationToken
Microsoft.AspNetCore.Hosting.IApplicationLifetime.ApplicationStopped.get -> System.Threading.CancellationToken
Microsoft.AspNetCore.Hosting.IApplicationLifetime.ApplicationStopping.get -> System.Threading.CancellationToken
Microsoft.AspNetCore.Hosting.IApplicationLifetime.StopApplication() -> void
Microsoft.AspNetCore.Hosting.IHostingEnvironment
Microsoft.AspNetCore.Hosting.IHostingEnvironment.ApplicationName.get -> string!
Microsoft.AspNetCore.Hosting.IHostingEnvironment.ApplicationName.set -> void
Microsoft.AspNetCore.Hosting.IHostingEnvironment.ContentRootFileProvider.get -> Microsoft.Extensions.FileProviders.IFileProvider!
Microsoft.AspNetCore.Hosting.IHostingEnvironment.ContentRootFileProvider.set -> void
Microsoft.AspNetCore.Hosting.IHostingEnvironment.ContentRootPath.get -> string!
Microsoft.AspNetCore.Hosting.IHostingEnvironment.ContentRootPath.set -> void
Microsoft.AspNetCore.Hosting.IHostingEnvironment.EnvironmentName.get -> string!
Microsoft.AspNetCore.Hosting.IHostingEnvironment.EnvironmentName.set -> void
Microsoft.AspNetCore.Hosting.IHostingEnvironment.WebRootFileProvider.get -> Microsoft.Extensions.FileProviders.IFileProvider!
Microsoft.AspNetCore.Hosting.IHostingEnvironment.WebRootFileProvider.set -> void
Microsoft.AspNetCore.Hosting.IHostingEnvironment.WebRootPath.get -> string!
Microsoft.AspNetCore.Hosting.IHostingEnvironment.WebRootPath.set -> void
Microsoft.AspNetCore.Hosting.IHostingStartup
Microsoft.AspNetCore.Hosting.IHostingStartup.Configure(Microsoft.AspNetCore.Hosting.IWebHostBuilder! builder) -> void
Microsoft.AspNetCore.Hosting.IStartup
Microsoft.AspNetCore.Hosting.IStartup.Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder! app) -> void
Microsoft.AspNetCore.Hosting.IStartup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> System.IServiceProvider!
Microsoft.AspNetCore.Hosting.IStartupConfigureContainerFilter<TContainerBuilder>
Microsoft.AspNetCore.Hosting.IStartupConfigureContainerFilter<TContainerBuilder>.ConfigureContainer(System.Action<TContainerBuilder>! container) -> System.Action<TContainerBuilder>!
Microsoft.AspNetCore.Hosting.IStartupConfigureServicesFilter
Microsoft.AspNetCore.Hosting.IStartupConfigureServicesFilter.ConfigureServices(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! next) -> System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>!
Microsoft.AspNetCore.Hosting.IStartupFilter
Microsoft.AspNetCore.Hosting.IStartupFilter.Configure(System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder!>! next) -> System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder!>!
Microsoft.AspNetCore.Hosting.IWebHost
Microsoft.AspNetCore.Hosting.IWebHost.ServerFeatures.get -> Microsoft.AspNetCore.Http.Features.IFeatureCollection!
Microsoft.AspNetCore.Hosting.IWebHost.Services.get -> System.IServiceProvider!
Microsoft.AspNetCore.Hosting.IWebHost.Start() -> void
Microsoft.AspNetCore.Hosting.IWebHost.StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
Microsoft.AspNetCore.Hosting.IWebHost.StopAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
Microsoft.AspNetCore.Hosting.IWebHostBuilder
Microsoft.AspNetCore.Hosting.IWebHostBuilder.Build() -> Microsoft.AspNetCore.Hosting.IWebHost!
Microsoft.AspNetCore.Hosting.IWebHostBuilder.ConfigureAppConfiguration(System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext!, Microsoft.Extensions.Configuration.IConfigurationBuilder!>! configureDelegate) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
Microsoft.AspNetCore.Hosting.IWebHostBuilder.ConfigureServices(System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext!, Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configureServices) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
Microsoft.AspNetCore.Hosting.IWebHostBuilder.ConfigureServices(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configureServices) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
Microsoft.AspNetCore.Hosting.IWebHostBuilder.GetSetting(string! key) -> string?
Microsoft.AspNetCore.Hosting.IWebHostBuilder.UseSetting(string! key, string? value) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
Microsoft.AspNetCore.Hosting.IWebHostEnvironment
Microsoft.AspNetCore.Hosting.IWebHostEnvironment.WebRootFileProvider.get -> Microsoft.Extensions.FileProviders.IFileProvider!
Microsoft.AspNetCore.Hosting.IWebHostEnvironment.WebRootFileProvider.set -> void
Microsoft.AspNetCore.Hosting.IWebHostEnvironment.WebRootPath.get -> string!
Microsoft.AspNetCore.Hosting.IWebHostEnvironment.WebRootPath.set -> void
Microsoft.AspNetCore.Hosting.WebHostBuilderContext
Microsoft.AspNetCore.Hosting.WebHostBuilderContext.Configuration.get -> Microsoft.Extensions.Configuration.IConfiguration!
Microsoft.AspNetCore.Hosting.WebHostBuilderContext.Configuration.set -> void
Microsoft.AspNetCore.Hosting.WebHostBuilderContext.HostingEnvironment.get -> Microsoft.AspNetCore.Hosting.IWebHostEnvironment!
Microsoft.AspNetCore.Hosting.WebHostBuilderContext.HostingEnvironment.set -> void
Microsoft.AspNetCore.Hosting.WebHostBuilderContext.WebHostBuilderContext() -> void
Microsoft.AspNetCore.Hosting.WebHostDefaults
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.CaptureStartupErrors(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, bool captureStartupErrors) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.PreferHostingUrls(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, bool preferHostingUrls) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.Start(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, params string![]! urls) -> Microsoft.AspNetCore.Hosting.IWebHost!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.SuppressStatusMessages(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, bool suppressStatusMessages) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.UseConfiguration(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, Microsoft.Extensions.Configuration.IConfiguration! configuration) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.UseContentRoot(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, string! contentRoot) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.UseEnvironment(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, string! environment) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.UseServer(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, Microsoft.AspNetCore.Hosting.Server.IServer! server) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.UseShutdownTimeout(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.TimeSpan timeout) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.UseStartup(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, string! startupAssemblyName) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.UseUrls(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, params string![]! urls) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions.UseWebRoot(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, string! webRoot) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.HostingEnvironmentExtensions.IsDevelopment(this Microsoft.AspNetCore.Hosting.IHostingEnvironment! hostingEnvironment) -> bool
static Microsoft.AspNetCore.Hosting.HostingEnvironmentExtensions.IsEnvironment(this Microsoft.AspNetCore.Hosting.IHostingEnvironment! hostingEnvironment, string! environmentName) -> bool
static Microsoft.AspNetCore.Hosting.HostingEnvironmentExtensions.IsProduction(this Microsoft.AspNetCore.Hosting.IHostingEnvironment! hostingEnvironment) -> bool
static Microsoft.AspNetCore.Hosting.HostingEnvironmentExtensions.IsStaging(this Microsoft.AspNetCore.Hosting.IHostingEnvironment! hostingEnvironment) -> bool
static readonly Microsoft.AspNetCore.Hosting.EnvironmentName.Development -> string!
static readonly Microsoft.AspNetCore.Hosting.EnvironmentName.Production -> string!
static readonly Microsoft.AspNetCore.Hosting.EnvironmentName.Staging -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.ApplicationKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.CaptureStartupErrorsKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.ContentRootKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.DetailedErrorsKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.EnvironmentKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.HostingStartupAssembliesKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.HostingStartupExcludeAssembliesKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.PreferHostingUrlsKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.PreventHostingStartupKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.ServerUrlsKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.ShutdownTimeoutKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.StartupAssemblyKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.StaticWebAssetsKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.SuppressStatusMessagesKey -> string!
static readonly Microsoft.AspNetCore.Hosting.WebHostDefaults.WebRootKey -> string!

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,63 @@
#nullable enable
Microsoft.AspNetCore.Hosting.Builder.ApplicationBuilderFactory
Microsoft.AspNetCore.Hosting.Builder.ApplicationBuilderFactory.ApplicationBuilderFactory(System.IServiceProvider! serviceProvider) -> void
Microsoft.AspNetCore.Hosting.Builder.ApplicationBuilderFactory.CreateBuilder(Microsoft.AspNetCore.Http.Features.IFeatureCollection! serverFeatures) -> Microsoft.AspNetCore.Builder.IApplicationBuilder!
Microsoft.AspNetCore.Hosting.Builder.IApplicationBuilderFactory
Microsoft.AspNetCore.Hosting.DelegateStartup
Microsoft.AspNetCore.Hosting.DelegateStartup.DelegateStartup(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! factory, System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder!>! configureApp) -> void
Microsoft.AspNetCore.Hosting.Server.Features.ServerAddressesFeature
Microsoft.AspNetCore.Hosting.Server.Features.ServerAddressesFeature.Addresses.get -> System.Collections.Generic.ICollection<string!>!
Microsoft.AspNetCore.Hosting.Server.Features.ServerAddressesFeature.PreferHostingUrls.get -> bool
Microsoft.AspNetCore.Hosting.Server.Features.ServerAddressesFeature.PreferHostingUrls.set -> void
Microsoft.AspNetCore.Hosting.Server.Features.ServerAddressesFeature.ServerAddressesFeature() -> void
Microsoft.AspNetCore.Hosting.StartupBase
Microsoft.AspNetCore.Hosting.StartupBase.StartupBase() -> void
Microsoft.AspNetCore.Hosting.StartupBase<TBuilder>
Microsoft.AspNetCore.Hosting.StaticWebAssets.StaticWebAssetsLoader
Microsoft.AspNetCore.Hosting.StaticWebAssets.StaticWebAssetsLoader.StaticWebAssetsLoader() -> void
Microsoft.AspNetCore.Hosting.WebHostBuilder
Microsoft.AspNetCore.Hosting.WebHostBuilder.Build() -> Microsoft.AspNetCore.Hosting.IWebHost!
Microsoft.AspNetCore.Hosting.WebHostBuilder.ConfigureAppConfiguration(System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext!, Microsoft.Extensions.Configuration.IConfigurationBuilder!>! configureDelegate) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
Microsoft.AspNetCore.Hosting.WebHostBuilder.ConfigureServices(System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext!, Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configureServices) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
Microsoft.AspNetCore.Hosting.WebHostBuilder.ConfigureServices(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configureServices) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
Microsoft.AspNetCore.Hosting.WebHostBuilder.GetSetting(string! key) -> string!
Microsoft.AspNetCore.Hosting.WebHostBuilder.UseSetting(string! key, string? value) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
Microsoft.AspNetCore.Hosting.WebHostBuilder.WebHostBuilder() -> void
Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions
Microsoft.AspNetCore.Hosting.WebHostExtensions
Microsoft.AspNetCore.Http.DefaultHttpContextFactory
Microsoft.AspNetCore.Http.DefaultHttpContextFactory.Create(Microsoft.AspNetCore.Http.Features.IFeatureCollection! featureCollection) -> Microsoft.AspNetCore.Http.HttpContext!
Microsoft.AspNetCore.Http.DefaultHttpContextFactory.DefaultHttpContextFactory(System.IServiceProvider! serviceProvider) -> void
Microsoft.AspNetCore.Http.DefaultHttpContextFactory.Dispose(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> void
Microsoft.Extensions.Hosting.GenericHostWebHostBuilderExtensions
Microsoft.Extensions.Hosting.WebHostBuilderOptions
Microsoft.Extensions.Hosting.WebHostBuilderOptions.SuppressEnvironmentConfiguration.get -> bool
Microsoft.Extensions.Hosting.WebHostBuilderOptions.SuppressEnvironmentConfiguration.set -> void
Microsoft.Extensions.Hosting.WebHostBuilderOptions.WebHostBuilderOptions() -> void
override Microsoft.AspNetCore.Hosting.DelegateStartup.Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder! app) -> void
static Microsoft.AspNetCore.Hosting.StaticWebAssets.StaticWebAssetsLoader.UseStaticWebAssets(Microsoft.AspNetCore.Hosting.IWebHostEnvironment! environment, Microsoft.Extensions.Configuration.IConfiguration! configuration) -> void
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.Configure(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder!>! configureApp) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.Configure(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext!, Microsoft.AspNetCore.Builder.IApplicationBuilder!>! configureApp) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.ConfigureAppConfiguration(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Action<Microsoft.Extensions.Configuration.IConfigurationBuilder!>! configureDelegate) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.ConfigureLogging(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext!, Microsoft.Extensions.Logging.ILoggingBuilder!>! configureLogging) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.ConfigureLogging(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Action<Microsoft.Extensions.Logging.ILoggingBuilder!>! configureLogging) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.UseDefaultServiceProvider(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext!, Microsoft.Extensions.DependencyInjection.ServiceProviderOptions!>! configure) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.UseDefaultServiceProvider(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Action<Microsoft.Extensions.DependencyInjection.ServiceProviderOptions!>! configure) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.UseStartup(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Type! startupType) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.UseStartup<TStartup>(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.UseStartup<TStartup>(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! hostBuilder, System.Func<Microsoft.AspNetCore.Hosting.WebHostBuilderContext!, TStartup!>! startupFactory) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.UseStaticWebAssets(this Microsoft.AspNetCore.Hosting.IWebHostBuilder! builder) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder!
static Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(this Microsoft.AspNetCore.Hosting.IWebHost! host) -> void
static Microsoft.AspNetCore.Hosting.WebHostExtensions.RunAsync(this Microsoft.AspNetCore.Hosting.IWebHost! host, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
static Microsoft.AspNetCore.Hosting.WebHostExtensions.StopAsync(this Microsoft.AspNetCore.Hosting.IWebHost! host, System.TimeSpan timeout) -> System.Threading.Tasks.Task!
static Microsoft.AspNetCore.Hosting.WebHostExtensions.WaitForShutdown(this Microsoft.AspNetCore.Hosting.IWebHost! host) -> void
static Microsoft.AspNetCore.Hosting.WebHostExtensions.WaitForShutdownAsync(this Microsoft.AspNetCore.Hosting.IWebHost! host, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
virtual Microsoft.AspNetCore.Hosting.StartupBase<TBuilder>.ConfigureContainer(TBuilder builder) -> void
~Microsoft.AspNetCore.Hosting.Builder.IApplicationBuilderFactory.CreateBuilder(Microsoft.AspNetCore.Http.Features.IFeatureCollection serverFeatures) -> Microsoft.AspNetCore.Builder.IApplicationBuilder
~Microsoft.AspNetCore.Hosting.StartupBase<TBuilder>.StartupBase(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory<TBuilder> factory) -> void
~abstract Microsoft.AspNetCore.Hosting.StartupBase.Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder app) -> void
~override Microsoft.AspNetCore.Hosting.StartupBase<TBuilder>.CreateServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection services) -> System.IServiceProvider
~static Microsoft.Extensions.Hosting.GenericHostWebHostBuilderExtensions.ConfigureWebHost(this Microsoft.Extensions.Hosting.IHostBuilder builder, System.Action<Microsoft.AspNetCore.Hosting.IWebHostBuilder> configure) -> Microsoft.Extensions.Hosting.IHostBuilder
~static Microsoft.Extensions.Hosting.GenericHostWebHostBuilderExtensions.ConfigureWebHost(this Microsoft.Extensions.Hosting.IHostBuilder builder, System.Action<Microsoft.AspNetCore.Hosting.IWebHostBuilder> configure, System.Action<Microsoft.Extensions.Hosting.WebHostBuilderOptions> configureWebHostBuilder) -> Microsoft.Extensions.Hosting.IHostBuilder
~virtual Microsoft.AspNetCore.Hosting.StartupBase.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) -> void
~virtual Microsoft.AspNetCore.Hosting.StartupBase.CreateServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection services) -> System.IServiceProvider

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,25 @@
#nullable enable
Microsoft.AspNetCore.Hosting.Server.Abstractions.IHostContextContainer<TContext>
Microsoft.AspNetCore.Hosting.Server.Abstractions.IHostContextContainer<TContext>.HostContext.get -> TContext
Microsoft.AspNetCore.Hosting.Server.Abstractions.IHostContextContainer<TContext>.HostContext.set -> void
Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature
Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature.Addresses.get -> System.Collections.Generic.ICollection<string!>!
Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature.PreferHostingUrls.get -> bool
Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature.PreferHostingUrls.set -> void
Microsoft.AspNetCore.Hosting.Server.IHttpApplication<TContext>
Microsoft.AspNetCore.Hosting.Server.IHttpApplication<TContext>.CreateContext(Microsoft.AspNetCore.Http.Features.IFeatureCollection! contextFeatures) -> TContext
Microsoft.AspNetCore.Hosting.Server.IHttpApplication<TContext>.DisposeContext(TContext context, System.Exception! exception) -> void
Microsoft.AspNetCore.Hosting.Server.IHttpApplication<TContext>.ProcessRequestAsync(TContext context) -> System.Threading.Tasks.Task!
Microsoft.AspNetCore.Hosting.Server.IServer
Microsoft.AspNetCore.Hosting.Server.IServer.Features.get -> Microsoft.AspNetCore.Http.Features.IFeatureCollection!
Microsoft.AspNetCore.Hosting.Server.IServer.StartAsync<TContext>(Microsoft.AspNetCore.Hosting.Server.IHttpApplication<TContext>! application, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task!
Microsoft.AspNetCore.Hosting.Server.IServer.StopAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task!
Microsoft.AspNetCore.Hosting.Server.IServerIntegratedAuth
Microsoft.AspNetCore.Hosting.Server.IServerIntegratedAuth.AuthenticationScheme.get -> string!
Microsoft.AspNetCore.Hosting.Server.IServerIntegratedAuth.IsEnabled.get -> bool
Microsoft.AspNetCore.Hosting.Server.ServerIntegratedAuth
Microsoft.AspNetCore.Hosting.Server.ServerIntegratedAuth.AuthenticationScheme.get -> string!
Microsoft.AspNetCore.Hosting.Server.ServerIntegratedAuth.AuthenticationScheme.set -> void
Microsoft.AspNetCore.Hosting.Server.ServerIntegratedAuth.IsEnabled.get -> bool
Microsoft.AspNetCore.Hosting.Server.ServerIntegratedAuth.IsEnabled.set -> void
Microsoft.AspNetCore.Hosting.Server.ServerIntegratedAuth.ServerIntegratedAuth() -> void

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,52 @@
#nullable enable
Microsoft.AspNetCore.TestHost.ClientHandler
Microsoft.AspNetCore.TestHost.HostBuilderTestServerExtensions
Microsoft.AspNetCore.TestHost.HttpResetTestException
Microsoft.AspNetCore.TestHost.HttpResetTestException.ErrorCode.get -> int
Microsoft.AspNetCore.TestHost.HttpResetTestException.HttpResetTestException(int errorCode) -> void
Microsoft.AspNetCore.TestHost.RequestBuilder
Microsoft.AspNetCore.TestHost.TestServer
Microsoft.AspNetCore.TestHost.TestServer.AllowSynchronousIO.get -> bool
Microsoft.AspNetCore.TestHost.TestServer.AllowSynchronousIO.set -> void
Microsoft.AspNetCore.TestHost.TestServer.Dispose() -> void
Microsoft.AspNetCore.TestHost.TestServer.PreserveExecutionContext.get -> bool
Microsoft.AspNetCore.TestHost.TestServer.PreserveExecutionContext.set -> void
Microsoft.AspNetCore.TestHost.WebHostBuilderExtensions
Microsoft.AspNetCore.TestHost.WebHostBuilderFactory
Microsoft.AspNetCore.TestHost.WebSocketClient
~Microsoft.AspNetCore.TestHost.RequestBuilder.AddHeader(string name, string value) -> Microsoft.AspNetCore.TestHost.RequestBuilder
~Microsoft.AspNetCore.TestHost.RequestBuilder.And(System.Action<System.Net.Http.HttpRequestMessage> configure) -> Microsoft.AspNetCore.TestHost.RequestBuilder
~Microsoft.AspNetCore.TestHost.RequestBuilder.GetAsync() -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
~Microsoft.AspNetCore.TestHost.RequestBuilder.PostAsync() -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
~Microsoft.AspNetCore.TestHost.RequestBuilder.RequestBuilder(Microsoft.AspNetCore.TestHost.TestServer server, string path) -> void
~Microsoft.AspNetCore.TestHost.RequestBuilder.SendAsync(string method) -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
~Microsoft.AspNetCore.TestHost.RequestBuilder.TestServer.get -> Microsoft.AspNetCore.TestHost.TestServer
~Microsoft.AspNetCore.TestHost.TestServer.BaseAddress.get -> System.Uri
~Microsoft.AspNetCore.TestHost.TestServer.BaseAddress.set -> void
~Microsoft.AspNetCore.TestHost.TestServer.CreateClient() -> System.Net.Http.HttpClient
~Microsoft.AspNetCore.TestHost.TestServer.CreateHandler() -> System.Net.Http.HttpMessageHandler
~Microsoft.AspNetCore.TestHost.TestServer.CreateRequest(string path) -> Microsoft.AspNetCore.TestHost.RequestBuilder
~Microsoft.AspNetCore.TestHost.TestServer.CreateWebSocketClient() -> Microsoft.AspNetCore.TestHost.WebSocketClient
~Microsoft.AspNetCore.TestHost.TestServer.Features.get -> Microsoft.AspNetCore.Http.Features.IFeatureCollection
~Microsoft.AspNetCore.TestHost.TestServer.Host.get -> Microsoft.AspNetCore.Hosting.IWebHost
~Microsoft.AspNetCore.TestHost.TestServer.SendAsync(System.Action<Microsoft.AspNetCore.Http.HttpContext> configureContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<Microsoft.AspNetCore.Http.HttpContext>
~Microsoft.AspNetCore.TestHost.TestServer.Services.get -> System.IServiceProvider
~Microsoft.AspNetCore.TestHost.TestServer.TestServer(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) -> void
~Microsoft.AspNetCore.TestHost.TestServer.TestServer(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder, Microsoft.AspNetCore.Http.Features.IFeatureCollection featureCollection) -> void
~Microsoft.AspNetCore.TestHost.TestServer.TestServer(System.IServiceProvider services) -> void
~Microsoft.AspNetCore.TestHost.TestServer.TestServer(System.IServiceProvider services, Microsoft.AspNetCore.Http.Features.IFeatureCollection featureCollection) -> void
~Microsoft.AspNetCore.TestHost.WebSocketClient.ConfigureRequest.get -> System.Action<Microsoft.AspNetCore.Http.HttpRequest>
~Microsoft.AspNetCore.TestHost.WebSocketClient.ConfigureRequest.set -> void
~Microsoft.AspNetCore.TestHost.WebSocketClient.ConnectAsync(System.Uri uri, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task<System.Net.WebSockets.WebSocket>
~Microsoft.AspNetCore.TestHost.WebSocketClient.SubProtocols.get -> System.Collections.Generic.IList<string>
~static Microsoft.AspNetCore.TestHost.HostBuilderTestServerExtensions.GetTestClient(this Microsoft.Extensions.Hosting.IHost host) -> System.Net.Http.HttpClient
~static Microsoft.AspNetCore.TestHost.HostBuilderTestServerExtensions.GetTestServer(this Microsoft.Extensions.Hosting.IHost host) -> Microsoft.AspNetCore.TestHost.TestServer
~static Microsoft.AspNetCore.TestHost.WebHostBuilderExtensions.ConfigureTestContainer<TContainer>(this Microsoft.AspNetCore.Hosting.IWebHostBuilder webHostBuilder, System.Action<TContainer> servicesConfiguration) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder
~static Microsoft.AspNetCore.TestHost.WebHostBuilderExtensions.ConfigureTestServices(this Microsoft.AspNetCore.Hosting.IWebHostBuilder webHostBuilder, System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection> servicesConfiguration) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder
~static Microsoft.AspNetCore.TestHost.WebHostBuilderExtensions.GetTestClient(this Microsoft.AspNetCore.Hosting.IWebHost host) -> System.Net.Http.HttpClient
~static Microsoft.AspNetCore.TestHost.WebHostBuilderExtensions.GetTestServer(this Microsoft.AspNetCore.Hosting.IWebHost host) -> Microsoft.AspNetCore.TestHost.TestServer
~static Microsoft.AspNetCore.TestHost.WebHostBuilderExtensions.UseSolutionRelativeContentRoot(this Microsoft.AspNetCore.Hosting.IWebHostBuilder builder, string solutionRelativePath, string applicationBasePath, string solutionName = "*.sln") -> Microsoft.AspNetCore.Hosting.IWebHostBuilder
~static Microsoft.AspNetCore.TestHost.WebHostBuilderExtensions.UseSolutionRelativeContentRoot(this Microsoft.AspNetCore.Hosting.IWebHostBuilder builder, string solutionRelativePath, string solutionName = "*.sln") -> Microsoft.AspNetCore.Hosting.IWebHostBuilder
~static Microsoft.AspNetCore.TestHost.WebHostBuilderExtensions.UseTestServer(this Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder
~static Microsoft.AspNetCore.TestHost.WebHostBuilderFactory.CreateFromAssemblyEntryPoint(System.Reflection.Assembly assembly, string[] args) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder
~static Microsoft.AspNetCore.TestHost.WebHostBuilderFactory.CreateFromTypesAssemblyEntryPoint<T>(string[] args) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder

View File

@ -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.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Net.Http;
@ -93,6 +94,7 @@ namespace Microsoft.AspNetCore.TestHost
return webHostBuilder;
}
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public static IWebHostBuilder UseSolutionRelativeContentRoot(
this IWebHostBuilder builder,
string solutionRelativePath,
@ -101,6 +103,7 @@ namespace Microsoft.AspNetCore.TestHost
return builder.UseSolutionRelativeContentRoot(solutionRelativePath, AppContext.BaseDirectory, solutionName);
}
[SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
public static IWebHostBuilder UseSolutionRelativeContentRoot(
this IWebHostBuilder builder,
string solutionRelativePath,

View File

@ -0,0 +1 @@
#nullable enable

View File

@ -0,0 +1,11 @@
#nullable enable
Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService
Microsoft.AspNetCore.Hosting.WindowsServices.WebHostWindowsServiceExtensions
override sealed Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService.OnStop() -> void
virtual Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService.OnStarted() -> void
virtual Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService.OnStopped() -> void
virtual Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService.OnStopping() -> void
~Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService.WebHostService(Microsoft.AspNetCore.Hosting.IWebHost host) -> void
~override sealed Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService.OnStart(string[] args) -> void
~static Microsoft.AspNetCore.Hosting.WindowsServices.WebHostWindowsServiceExtensions.RunAsService(this Microsoft.AspNetCore.Hosting.IWebHost host) -> void
~virtual Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService.OnStarting(string[] args) -> void

View File

@ -55,7 +55,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <typeparam name="THandler">The <see cref="IAuthenticationHandler"/> responsible for the scheme.</typeparam>
/// <param name="name">The name of the scheme being added.</param>
/// <param name="displayName">The display name for the scheme.</param>
public void AddScheme<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)]THandler>(string name, string displayName) where THandler : IAuthenticationHandler
public void AddScheme<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)]THandler>(string name, string? displayName) where THandler : IAuthenticationHandler
=> AddScheme(name, b =>
{
b.DisplayName = displayName;

View File

@ -38,7 +38,8 @@ namespace Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
{
// Look for DbContext classes registered in the service provider
var registeredContexts = errorContext.HttpContext.RequestServices.GetServices<DbContextOptions>()
.Select(o => o.ContextType);
.Select(o => o.ContextType)
.Distinct(); // Workaround for https://github.com/dotnet/efcore/issues/22341
if (registeredContexts.Any())
{

View File

@ -26,6 +26,31 @@
"sources": [
{
"modifiers": [
{
"condition": "(!OrganizationalAuth && !IndividualAuth)",
"exclude": [
"Areas/Identity/Pages/Shared/_LoginPartial.Identity.cshtml",
"Areas/Identity/Pages/Shared/_LoginPartial.OrgAuth.cshtml"
]
},
{
"condition": "(OrganizationalAuth || IndividualB2CAuth)",
"rename": {
"Areas/Identity/Pages/Shared/_LoginPartial.OrgAuth.cshtml": "Areas/Identity/Pages/Shared/_LoginPartial.cshtml"
},
"exclude": [
"Areas/Identity/Pages/Shared/_LoginPartial.Identity.cshtml"
]
},
{
"condition": "(IndividualLocalAuth)",
"rename": {
"Areas/Identity/Pages/Shared/_LoginPartial.Identity.cshtml": "Areas/Identity/Pages/Shared/_LoginPartial.cshtml"
},
"exclude": [
"Areas/Identity/Pages/Shared/_LoginPartial.OrgAuth.cshtml"
]
},
{
"condition": "(!IndividualLocalAuth || UseLocalDB)",
"exclude": [
@ -131,7 +156,6 @@
{
"condition": "(!GenerateApi)",
"exclude": [
"Services/DownstreamWebApi.cs",
"Pages/CallWebApi.razor"
]
},

View File

@ -0,0 +1,27 @@
@using Microsoft.AspNetCore.Identity
@inject SignInManager<IdentityUser> SignInManager
@inject UserManager<IdentityUser> UserManager
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
<ul class="navbar-nav">
@if (SignInManager.IsSignedIn(User))
{
<li class="nav-item">
<a class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Manage/Index" title="Manage">Hello @User.Identity.Name!</a>
</li>
<li class="nav-item">
<form class="form-inline" asp-area="Identity" asp-page="/Account/Logout" asp-route-returnUrl="/" method="post">
<button type="submit" class="nav-link btn btn-link text-dark">Logout</button>
</form>
</li>
}
else
{
<li class="nav-item">
<a class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Register">Register</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Login">Login</a>
</li>
}
</ul>

View File

@ -4,7 +4,6 @@
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using BlazorServerWeb_CSharp
@using BlazorServerWeb_CSharp.Shared

View File

@ -49,9 +49,9 @@ namespace ComponentsWebAssembly_CSharp.Server
#else
options.UseSqlite(
Configuration.GetConnectionString("DefaultConnection")));
#endif
services.AddDatabaseDeveloperPageExceptionFilter();
#endif
services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();

View File

@ -42,9 +42,9 @@ namespace Company.WebApplication1
#else
options.UseSqlite(
Configuration.GetConnectionString("DefaultConnection")));
#endif
services.AddDatabaseDeveloperPageExceptionFilter();
#endif
services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();

View File

@ -42,9 +42,9 @@ namespace Company.WebApplication1
#else
options.UseSqlite(
Configuration.GetConnectionString("DefaultConnection")));
#endif
services.AddDatabaseDeveloperPageExceptionFilter();
#endif
services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();

View File

@ -15,6 +15,8 @@
<NoWarn>$(NoWarn);NU5129</NoWarn>
<!-- Need to build this project in source build -->
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
<IsShipping>false</IsShipping>
</PropertyGroup>
<ItemGroup>

View File

@ -0,0 +1,11 @@
<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
<PropertyGroup>
<!--
Projects in this folder don't follow the usual naming conventions for test assets. Marking as such
though the projects directly w/in this folder are more like test infrastructure.
-->
<IsTestAssetProject>false</IsTestAssetProject>
</PropertyGroup>
</Project>

View File

@ -7,6 +7,7 @@
<PackageId>RazorSyntaxGenerator</PackageId>
<OutputType>Exe</OutputType>
<EnableApiCheck>false</EnableApiCheck>
<IsPackable>false</IsPackable>
</PropertyGroup>
</Project>

View File

@ -303,8 +303,9 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="AfterBuild">
<Target Name="AfterBuild" Condition="'$(Platform)' == 'x64'">
<!-- Drop a file in the artifacts directory containing the ANCM version number -->
<!-- Only write on x64 build to avoid both x64 and x86 writing to same place. -->
<ItemGroup>
<VersionFileContents Include="$(AspNetCoreModuleVersionMajor).$(AspNetCoreMinorVersion).$(AssemblyBuild).$(AspNetCorePatchVersion)" />
<VersionFileContents Include="$(SourceRevisionId)" />

View File

@ -6,7 +6,6 @@ using System.IO;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
using Microsoft.AspNetCore.Server.Kestrel.Https;
using Microsoft.AspNetCore.Server.Kestrel.Https.Internal;
using Microsoft.Extensions.DependencyInjection;
@ -209,7 +208,8 @@ namespace Microsoft.AspNetCore.Hosting
}
/// <summary>
/// Configure Kestrel to use HTTPS.
/// Configure Kestrel to use HTTPS. This does not use default certificates or other defaults specified via config or
/// <see cref="KestrelServerOptions.ConfigureHttpsDefaults(Action{HttpsConnectionAdapterOptions})"/>.
/// </summary>
/// <param name="listenOptions">The <see cref="ListenOptions"/> to configure.</param>
/// <param name="httpsOptions">Options to configure HTTPS.</param>
@ -230,12 +230,44 @@ namespace Microsoft.AspNetCore.Hosting
return listenOptions;
}
/// <summary>
/// Configure Kestrel to use HTTPS. This does not use default certificates or other defaults specified via config or
/// <see cref="KestrelServerOptions.ConfigureHttpsDefaults(Action{HttpsConnectionAdapterOptions})"/>.
/// </summary>
/// <param name="listenOptions">The <see cref="ListenOptions"/> to configure.</param>
/// <param name="serverOptionsSelectionCallback">Callback to configure HTTPS options.</param>
/// <param name="state">State for the <paramref name="serverOptionsSelectionCallback"/>.</param>
/// <returns>The <see cref="ListenOptions"/>.</returns>
public static ListenOptions UseHttps(this ListenOptions listenOptions, ServerOptionsSelectionCallback serverOptionsSelectionCallback, object state)
{
return listenOptions.UseHttps(serverOptionsSelectionCallback, state, HttpsConnectionAdapterOptions.DefaultHandshakeTimeout);
}
/// <summary>
/// Configure Kestrel to use HTTPS. This does not use default certificates or other defaults specified via config or
/// <see cref="KestrelServerOptions.ConfigureHttpsDefaults(Action{HttpsConnectionAdapterOptions})"/>.
/// </summary>
/// <param name="listenOptions">The <see cref="ListenOptions"/> to configure.</param>
/// <param name="serverOptionsSelectionCallback">Callback to configure HTTPS options.</param>
/// <param name="state">State for the <paramref name="serverOptionsSelectionCallback"/>.</param>
/// <param name="handshakeTimeout">Specifies the maximum amount of time allowed for the TLS/SSL handshake. This must be positive and finite.</param>
/// <returns>The <see cref="ListenOptions"/>.</returns>
public static ListenOptions UseHttps(this ListenOptions listenOptions, ServerOptionsSelectionCallback serverOptionsSelectionCallback, object state, TimeSpan handshakeTimeout)
{
// HttpsOptionsCallback is an internal delegate that is just the ServerOptionsSelectionCallback + a ConnectionContext parameter.
// Given that ConnectionContext will eventually be replaced by System.Net.Connections, it doesn't make much sense to make the HttpsOptionsCallback delegate public.
HttpsOptionsCallback adaptedCallback = (connection, stream, clientHelloInfo, state, cancellationToken) =>
serverOptionsSelectionCallback(stream, clientHelloInfo, state, cancellationToken);
return listenOptions.UseHttps(adaptedCallback, state, handshakeTimeout);
}
/// <summary>
/// Configure Kestrel to use HTTPS.
/// </summary>
/// <param name="listenOptions">The <see cref="ListenOptions"/> to configure.</param>
/// <param name="httpsOptionsCallback">Callback to configure HTTPS options.</param>
/// <param name="state">State for the <see cref="ServerOptionsSelectionCallback" />.</param>
/// <param name="state">State for the <paramref name="httpsOptionsCallback"/>.</param>
/// <param name="handshakeTimeout">Specifies the maximum amount of time allowed for the TLS/SSL handshake. This must be positive and finite.</param>
/// <returns>The <see cref="ListenOptions"/>.</returns>
internal static ListenOptions UseHttps(this ListenOptions listenOptions, HttpsOptionsCallback httpsOptionsCallback, object state, TimeSpan handshakeTimeout)

View File

@ -5,6 +5,7 @@ using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
using System.Threading.Tasks;
@ -109,15 +110,21 @@ namespace SampleApp
options.ListenAnyIP(basePort + 5, listenOptions =>
{
listenOptions.UseHttps(httpsOptions =>
var localhostCert = CertificateLoader.LoadFromStoreCert("localhost", "My", StoreLocation.CurrentUser, allowInvalid: true);
listenOptions.UseHttps((stream, clientHelloInfo, state, cancellationToken) =>
{
var localhostCert = CertificateLoader.LoadFromStoreCert("localhost", "My", StoreLocation.CurrentUser, allowInvalid: true);
httpsOptions.ServerCertificateSelector = (features, name) =>
// Here you would check the name, select an appropriate cert, and provide a fallback or fail for null names.
if (clientHelloInfo.ServerName != null && clientHelloInfo.ServerName != "localhost")
{
// Here you would check the name, select an appropriate cert, and provide a fallback or fail for null names.
return localhostCert;
};
});
throw new AuthenticationException($"The endpoint is not configured for sever name '{clientHelloInfo.ServerName}'.");
}
return new ValueTask<SslServerAuthenticationOptions>(new SslServerAuthenticationOptions
{
ServerCertificate = localhostCert
});
}, state: null);
});
options

View File

@ -123,6 +123,42 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
}
}
[Fact]
public async Task HandshakeDetailsAreAvailableAfterAsyncCallback()
{
void ConfigureListenOptions(ListenOptions listenOptions)
{
listenOptions.UseHttps(async (stream, clientHelloInfo, state, cancellationToken) =>
{
await Task.Yield();
return new SslServerAuthenticationOptions
{
ServerCertificate = _x509Certificate2,
};
}, state: null);
}
await using (var server = new TestServer(context =>
{
var tlsFeature = context.Features.Get<ITlsHandshakeFeature>();
Assert.NotNull(tlsFeature);
Assert.True(tlsFeature.Protocol > SslProtocols.None, "Protocol");
Assert.True(tlsFeature.CipherAlgorithm > CipherAlgorithmType.Null, "Cipher");
Assert.True(tlsFeature.CipherStrength > 0, "CipherStrength");
Assert.True(tlsFeature.HashAlgorithm >= HashAlgorithmType.None, "HashAlgorithm"); // May be None on Linux.
Assert.True(tlsFeature.HashStrength >= 0, "HashStrength"); // May be 0 for some algorithms
Assert.True(tlsFeature.KeyExchangeAlgorithm >= ExchangeAlgorithmType.None, "KeyExchangeAlgorithm"); // Maybe None on Windows 7
Assert.True(tlsFeature.KeyExchangeStrength >= 0, "KeyExchangeStrength"); // May be 0 on mac
return context.Response.WriteAsync("hello world");
}, new TestServiceContext(LoggerFactory), ConfigureListenOptions))
{
var result = await server.HttpClientSlim.GetStringAsync($"https://localhost:{server.Port}/", validateCertificate: false);
Assert.Equal("hello world", result);
}
}
[Fact]
public async Task RequireCertificateFailsWhenNoCertificate()
{
@ -166,22 +202,18 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
}
[Fact]
[QuarantinedTest("https://github.com/dotnet/runtime/issues/40402")]
public async Task ClientCertificateRequiredConfiguredInCallbackContinuesWhenNoCertificate()
public async Task AsyncCallbackSettingClientCertificateRequiredContinuesWhenNoCertificate()
{
void ConfigureListenOptions(ListenOptions listenOptions)
{
listenOptions.UseHttps((connection, stream, clientHelloInfo, state, cancellationToken) =>
listenOptions.UseHttps((stream, clientHelloInfo, state, cancellationToken) =>
new ValueTask<SslServerAuthenticationOptions>(new SslServerAuthenticationOptions
{
ServerCertificate = _x509Certificate2,
// From the API Docs: "Note that this is only a request --
// if no certificate is provided, the server still accepts the connection request."
// Not to mention this is equivalent to the test above.
ClientCertificateRequired = true,
RemoteCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true,
CertificateRevocationCheckMode = X509RevocationMode.NoCheck
}), state: null, HttpsConnectionAdapterOptions.DefaultHandshakeTimeout);
}), state: null);
}
await using (var server = new TestServer(context =>
@ -255,6 +287,39 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
}
}
[Fact]
public async Task UsesProvidedAsyncCallback()
{
var selectorCalled = 0;
void ConfigureListenOptions(ListenOptions listenOptions)
{
listenOptions.UseHttps(async (stream, clientHelloInfo, state, cancellationToken) =>
{
await Task.Yield();
Assert.NotNull(stream);
Assert.Equal("localhost", clientHelloInfo.ServerName);
selectorCalled++;
return new SslServerAuthenticationOptions
{
ServerCertificate = _x509Certificate2
};
}, state: null);
}
await using (var server = new TestServer(context => Task.CompletedTask, new TestServiceContext(LoggerFactory), ConfigureListenOptions))
{
using (var connection = server.CreateConnection())
{
var stream = OpenSslStream(connection.Stream);
await stream.AuthenticateAsClientAsync("localhost");
Assert.True(stream.RemoteCertificate.Equals(_x509Certificate2));
Assert.Equal(1, selectorCalled);
}
}
}
[Fact]
public async Task UsesProvidedServerCertificateSelectorEachTime()
{

View File

@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
@ -13,7 +12,6 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Internal;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Https;
using Microsoft.AspNetCore.Server.Kestrel.Https.Internal;
using Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests.TestTransport;
@ -21,13 +19,14 @@ using Microsoft.AspNetCore.Testing;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Internal;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Testing;
using Xunit;
namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
{
public class HttpsTests : LoggedTest
{
private static X509Certificate2 _x509Certificate2 = TestResources.GetTestCertificate();
private KestrelServerOptions CreateServerOptions()
{
var serverOptions = new KestrelServerOptions();
@ -41,8 +40,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
public void UseHttpsDefaultsToDefaultCert()
{
var serverOptions = CreateServerOptions();
var defaultCert = TestResources.GetTestCertificate();
serverOptions.DefaultCertificate = defaultCert;
serverOptions.DefaultCertificate = _x509Certificate2;
serverOptions.ListenLocalhost(5000, options =>
{
@ -62,22 +60,51 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
Assert.False(serverOptions.IsDevCertLoaded);
}
[Fact]
public async Task UseHttpsWithAsyncCallbackDoeNotFallBackToDefaultCert()
{
var loggerProvider = new HandshakeErrorLoggerProvider();
LoggerFactory.AddProvider(loggerProvider);
var testContext = new TestServiceContext(LoggerFactory);
await using (var server = new TestServer(context => Task.CompletedTask,
testContext,
listenOptions =>
{
listenOptions.UseHttps((stream, clientHelloInfo, state, cancellationToken) =>
new ValueTask<SslServerAuthenticationOptions>(new SslServerAuthenticationOptions()), state: null);
}))
{
using (var connection = server.CreateConnection())
using (var sslStream = new SslStream(connection.Stream, true, (sender, certificate, chain, errors) => true))
{
var ex = await Assert.ThrowsAnyAsync<Exception>(() =>
sslStream.AuthenticateAsClientAsync("127.0.0.1", clientCertificates: null,
enabledSslProtocols: SslProtocols.Tls,
checkCertificateRevocation: false));
}
}
var errorException = Assert.Single(loggerProvider.ErrorLogger.ErrorExceptions);
Assert.IsType<NotSupportedException>(errorException);
}
[Fact]
public void ConfigureHttpsDefaultsNeverLoadsDefaultCert()
{
var serverOptions = CreateServerOptions();
var testCert = TestResources.GetTestCertificate();
serverOptions.ConfigureHttpsDefaults(options =>
{
Assert.Null(options.ServerCertificate);
options.ServerCertificate = testCert;
options.ServerCertificate = _x509Certificate2;
options.ClientCertificateMode = ClientCertificateMode.RequireCertificate;
});
serverOptions.ListenLocalhost(5000, options =>
{
options.UseHttps(opt =>
{
Assert.Equal(testCert, opt.ServerCertificate);
Assert.Equal(_x509Certificate2, opt.ServerCertificate);
Assert.Equal(ClientCertificateMode.RequireCertificate, opt.ClientCertificateMode);
});
});
@ -90,14 +117,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
public void ConfigureCertSelectorNeverLoadsDefaultCert()
{
var serverOptions = CreateServerOptions();
var testCert = TestResources.GetTestCertificate();
serverOptions.ConfigureHttpsDefaults(options =>
{
Assert.Null(options.ServerCertificate);
Assert.Null(options.ServerCertificateSelector);
options.ServerCertificateSelector = (features, name) =>
{
return testCert;
return _x509Certificate2;
};
options.ClientCertificateMode = ClientCertificateMode.RequireCertificate;
});
@ -126,7 +152,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
new TestServiceContext(LoggerFactory),
listenOptions =>
{
listenOptions.UseHttps(TestResources.GetTestCertificate());
listenOptions.UseHttps(_x509Certificate2);
}))
{
using (var connection = server.CreateConnection())
@ -139,7 +165,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
Assert.Equal(1, loggerProvider.FilterLogger.LastEventId.Id);
Assert.Equal(LogLevel.Debug, loggerProvider.FilterLogger.LastLogLevel);
Assert.True(loggerProvider.ErrorLogger.TotalErrorsLogged == 0,
Assert.True(loggerProvider.ErrorLogger.ErrorMessages.Count == 0,
userMessage: string.Join(Environment.NewLine, loggerProvider.ErrorLogger.ErrorMessages));
}
@ -154,7 +180,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
new TestServiceContext(LoggerFactory),
listenOptions =>
{
listenOptions.UseHttps(TestResources.GetTestCertificate());
listenOptions.UseHttps(_x509Certificate2);
}))
{
using (var connection = server.CreateConnection())
@ -168,7 +194,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
Assert.Equal(1, loggerProvider.FilterLogger.LastEventId.Id);
Assert.Equal(LogLevel.Debug, loggerProvider.FilterLogger.LastLogLevel);
Assert.True(loggerProvider.ErrorLogger.TotalErrorsLogged == 0,
Assert.True(loggerProvider.ErrorLogger.ErrorMessages.Count == 0,
userMessage: string.Join(Environment.NewLine, loggerProvider.ErrorLogger.ErrorMessages));
}
@ -198,7 +224,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
new TestServiceContext(LoggerFactory),
listenOptions =>
{
listenOptions.UseHttps(TestResources.GetTestCertificate());
listenOptions.UseHttps(_x509Certificate2);
}))
{
using (var connection = server.CreateConnection())
@ -242,7 +268,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
new TestServiceContext(LoggerFactory),
listenOptions =>
{
listenOptions.UseHttps(TestResources.GetTestCertificate());
listenOptions.UseHttps(_x509Certificate2);
}))
{
using (var connection = server.CreateConnection())
@ -273,7 +299,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
new TestServiceContext(LoggerFactory),
listenOptions =>
{
listenOptions.UseHttps(TestResources.GetTestCertificate());
listenOptions.UseHttps(_x509Certificate2);
}))
{
using (var connection = server.CreateConnection())
@ -299,7 +325,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
new TestServiceContext(LoggerFactory),
listenOptions =>
{
listenOptions.UseHttps(TestResources.GetTestCertificate());
listenOptions.UseHttps(_x509Certificate2);
}))
{
using (var connection = server.CreateConnection())
@ -316,10 +342,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
LoggerFactory.AddProvider(loggerProvider);
var testContext = new TestServiceContext(LoggerFactory);
var heartbeatManager = new HeartbeatManager(testContext.ConnectionManager);
var handshakeStartedTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously);
TimeSpan handshakeTimeout = default;
await using (var server = new TestServer(context => Task.CompletedTask,
testContext,
@ -327,26 +349,47 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
{
listenOptions.UseHttps(o =>
{
o.ServerCertificate = new X509Certificate2(TestResources.GetTestCertificate());
o.OnAuthenticate = (_, __) =>
{
handshakeStartedTcs.SetResult();
};
handshakeTimeout = o.HandshakeTimeout;
o.ServerCertificate = new X509Certificate2(_x509Certificate2);
o.HandshakeTimeout = TimeSpan.FromMilliseconds(100);
});
}))
{
using (var connection = server.CreateConnection())
{
// HttpsConnectionAdapter dispatches via Task.Run() before starting the handshake.
// Wait for the handshake to start before advancing the system clock.
await handshakeStartedTcs.Task.DefaultTimeout();
Assert.Equal(0, await connection.Stream.ReadAsync(new byte[1], 0, 1).DefaultTimeout());
}
}
// Min amount of time between requests that triggers a handshake timeout.
testContext.MockSystemClock.UtcNow += handshakeTimeout + Heartbeat.Interval + TimeSpan.FromTicks(1);
heartbeatManager.OnHeartbeat(testContext.SystemClock.UtcNow);
await loggerProvider.FilterLogger.LogTcs.Task.DefaultTimeout();
Assert.Equal(2, loggerProvider.FilterLogger.LastEventId);
Assert.Equal(LogLevel.Debug, loggerProvider.FilterLogger.LastLogLevel);
}
[Fact]
public async Task HandshakeTimesOutAndIsLoggedAsDebugWithAsyncCallback()
{
var loggerProvider = new HandshakeErrorLoggerProvider();
LoggerFactory.AddProvider(loggerProvider);
var testContext = new TestServiceContext(LoggerFactory);
await using (var server = new TestServer(context => Task.CompletedTask,
testContext,
listenOptions =>
{
listenOptions.UseHttps(async (stream, clientHelloInfo, state, cancellationToken) =>
{
await Task.Yield();
return new SslServerAuthenticationOptions
{
ServerCertificate = _x509Certificate2,
};
}, state: null, handshakeTimeout: TimeSpan.FromMilliseconds(100));
}))
{
using (var connection = server.CreateConnection())
{
Assert.Equal(0, await connection.Stream.ReadAsync(new byte[1], 0, 1).DefaultTimeout());
}
}
@ -394,7 +437,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
var loggerProvider = new HandshakeErrorLoggerProvider();
LoggerFactory.AddProvider(loggerProvider);
var testCert = TestResources.GetTestCertificate();
var testCert = _x509Certificate2;
var onAuthenticateCalled = false;
await using (var server = new TestServer(context => Task.CompletedTask,
@ -430,7 +473,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
var loggerProvider = new HandshakeErrorLoggerProvider();
LoggerFactory.AddProvider(loggerProvider);
var testCert = TestResources.GetTestCertificate();
var testCert = _x509Certificate2;
var onAuthenticateCalled = false;
await using (var server = new TestServer(context => Task.CompletedTask,
@ -511,11 +554,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
private class ApplicationErrorLogger : ILogger
{
private List<string> _errorMessages = new List<string>();
public IEnumerable<string> ErrorMessages => _errorMessages;
public int TotalErrorsLogged => _errorMessages.Count;
public List<string> ErrorMessages => new List<string>();
public List<Exception> ErrorExceptions { get; } = new List<Exception>();
public bool ObjectDisposedExceptionLogged { get; set; }
@ -524,7 +564,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
if (logLevel == LogLevel.Error)
{
var log = $"Log {logLevel}[{eventId}]: {formatter(state, exception)} {exception}";
_errorMessages.Add(log);
ErrorMessages.Add(log);
if (exception != null)
{
ErrorExceptions.Add(exception);
}
}
if (exception is ObjectDisposedException)