Merge branch 'master' into merge/release/3.0-preview5-to-master

This commit is contained in:
Doug Bunting 2019-05-04 19:05:14 -07:00 committed by GitHub
commit 26a43cdd00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
537 changed files with 5850 additions and 191194 deletions

View File

@ -297,7 +297,7 @@ jobs:
agentOs: Windows
isTestingJob: true
buildScript: ./eng/scripts/cibuild.cmd
buildArgs: -test "/p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISForwardsCompatibilityTests=true /p:RunTemplateTests=false"
buildArgs: -test "/p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISForwardsCompatibilityTests=true /p:RunTemplateTests=false /p:BuildSiteExtensions=false"
beforeBuild:
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
displayName: Setup IISExpress test certificates and schema
@ -318,7 +318,7 @@ jobs:
agentOs: Windows
isTestingJob: true
buildScript: ./src/ProjectTemplates/build.cmd
buildArgs: -ci -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true"
buildArgs: -ci -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true /p:BuildSiteExtensions=false"
beforeBuild:
- powershell: ./eng/scripts/cibuild.cmd
displayName: Build Repo

View File

@ -14,4 +14,7 @@ jobs:
agentOs: Windows
jobName: SignalRDailyTests
jobDisplayName: "SignalR Daily Tests"
artifacts:
- name: Windows_Logs
path: ../../artifacts/logs/
publishOnError: true

View File

@ -71,7 +71,6 @@
<!-- Suppress KoreBuild warnings about the mismatch of repo version and local project version. The versioning in this mega repo is sufficiently complicated that KoreBuild's validation isn't helpful. -->
<VerifyVersion>false</VerifyVersion>
<EnableApiCheck Condition=" '$(EnableApiCheck)' != '' ">$(IsImplementationProject)</EnableApiCheck>
<IsPackable Condition="'$(IsPackable)' == '' AND ('$(IsImplementationProject)' == 'true' OR '$(IsAnalyzersProject)' == 'true') ">true</IsPackable>
<IsPackable Condition="'$(IsPackable)' == '' ">false</IsPackable>

View File

@ -4,11 +4,9 @@
<clear />
<!--
Restore sources should be defined in build/sources.props.
The only allowed feed here is myget.org/aspnet-tools which is required to work around
The only allowed feed here is dotnet-core which is required to work around
https://github.com/Microsoft/msbuild/issues/2914
-->
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
<add key="myget.org aspnetcore-tools" value="https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

View File

@ -95,3 +95,72 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
License notice for MessagePack-CSharp
-------------------------------------
MessagePack for C#
MIT License
Copyright (c) 2017 Yoshifumi Kawai
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---
lz4net
Copyright (c) 2013-2017, Milosz Krajewski
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License notice for Nerdbank.Streams
-----------------------------------
The MIT License (MIT)
Copyright (c) Andrew Arnott
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -8,7 +8,7 @@
<DisableDefaultTargets>true</DisableDefaultTargets>
<DisableDefaultItems>true</DisableDefaultItems>
<BuildSolutions>false</BuildSolutions>
<BuildSiteExtensions Condition="'$(TargetRuntimeIdentifier)' == 'win-x64' OR '$(TargetRuntimeIdentifier)' == 'win-x86'">true</BuildSiteExtensions>
<BuildSiteExtensions Condition="('$(TargetRuntimeIdentifier)' == 'win-x64' OR '$(TargetRuntimeIdentifier)' == 'win-x86') AND '$(BuildSiteExtensions)' == ''">true</BuildSiteExtensions>
<OverridePackageOutputPath>false</OverridePackageOutputPath>

View File

@ -14,18 +14,23 @@
https://dotnetfeed.blob.core.windows.net/aspnet-entityframeworkcore/index.json;
https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore-tooling/index.json;
https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json;
https://grpc.jfrog.io/grpc/api/nuget/v3/grpc-nuget-dev;
https://api.nuget.org/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json;
</RestoreSources>
<!-- TODO remove this once we remove usages of Internal.AspNetCore.Sdk. -->
<RestoreSources>
$(RestoreSources);
https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
https://dotnet.myget.org/F/blazor-dev/api/v3/index.json;
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
https://dotnet.myget.org/F/nuget-build/api/v3/index.json;
</RestoreSources>
<!-- TODO remove this once we move Microsoft.Internal.AspNetCore.H2Spec.All to a non-myget feed -->
<RestoreSources>
$(RestoreSources);
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
</RestoreSources>
<!-- Only used to fetch Microsoft.NETFramework.ReferenceAssemblies for x-plat netfx builds. -->
<RestoreSources Condition=" '$(OS)' != 'Windows_NT' ">
$(RestoreSources);
https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json;
https://dotnet.myget.org/F/roslyn/api/v3/index.json;
https://vside.myget.org/F/devcore/api/v3/index.json;
https://vside.myget.org/F/vsmac/api/v3/index.json;
https://vside.myget.org/F/vssdk/api/v3/index.json;
</RestoreSources>
<!-- In an orchestrated build, this may be overriden to other Azure feeds. -->

View File

@ -42,7 +42,6 @@ and are generated based on the last package release.
<LatestPackageReference Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
<LatestPackageReference Include="Microsoft.Azure.KeyVault" Version="$(MicrosoftAzureKeyVaultPackageVersion)" />
<LatestPackageReference Include="Microsoft.Azure.Storage.Blob" Version="$(MicrosoftAzureStorageBlobPackageVersion)" />
<LatestPackageReference Include="Microsoft.Bcl.Json.Sources" Version="$(MicrosoftBclJsonSourcesPackageVersion)" />
<LatestPackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildFrameworkPackageVersion)" />
<LatestPackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildUtilitiesCorePackageVersion)" />
<LatestPackageReference Include="Microsoft.CodeAnalysis.Common" Version="$(MicrosoftCodeAnalysisCommonPackageVersion)" />
@ -99,6 +98,7 @@ and are generated based on the last package release.
<LatestPackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
<LatestPackageReference Include="Microsoft.Extensions.Logging.Debug" Version="$(MicrosoftExtensionsLoggingDebugPackageVersion)" />
<LatestPackageReference Include="Microsoft.Extensions.Logging.EventSource" Version="$(MicrosoftExtensionsLoggingEventSourcePackageVersion)" />
<LatestPackageReference Include="Microsoft.Extensions.Logging.EventLog" Version="$(MicrosoftExtensionsLoggingEventLogPackageVersion)" />
<LatestPackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
<LatestPackageReference Include="Microsoft.Extensions.Logging.TraceSource" Version="$(MicrosoftExtensionsLoggingTraceSourcePackageVersion)" />
<LatestPackageReference Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
@ -157,9 +157,9 @@ and are generated based on the last package release.
<LatestPackageReference Include="System.Security.Principal.Windows" Version="$(SystemSecurityPrincipalWindowsPackageVersion)" />
<LatestPackageReference Include="System.ServiceProcess.ServiceController" Version="$(SystemServiceProcessServiceControllerPackageVersion)" />
<LatestPackageReference Include="System.Text.Encodings.Web" Version="$(SystemTextEncodingsWebPackageVersion)" />
<LatestPackageReference Include="System.Text.Json" Version="$(SystemTextJsonPackageVersion)" />
<LatestPackageReference Include="System.Threading.Channels" Version="$(SystemThreadingChannelsPackageVersion)" />
<LatestPackageReference Include="System.Threading.Tasks.Extensions" Version="$(SystemThreadingTasksExtensionsPackageVersion)" />
<LatestPackageReference Include="Utf8Json" Version="$(Utf8JsonPackageVersion)" />
<LatestPackageReference Include="xunit.abstractions" Version="$(XunitAbstractionsPackageVersion)" />
<LatestPackageReference Include="xunit.analyzers" Version="$(XunitAnalyzersPackageVersion)" />
<LatestPackageReference Include="xunit.assert" Version="$(XunitAssertPackageVersion)" />

View File

@ -40,6 +40,7 @@
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Logging.Debug" Version="$(MicrosoftExtensionsLoggingDebugPackageVersion)" />
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Logging.EventSource" Version="$(MicrosoftExtensionsLoggingEventSourcePackageVersion)" />
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Logging.EventLog" Version="$(MicrosoftExtensionsLoggingEventLogPackageVersion)" />
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Logging.TraceSource" Version="$(MicrosoftExtensionsLoggingTraceSourcePackageVersion)" />
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.ObjectPool" Version="$(MicrosoftExtensionsObjectPoolPackageVersion)" />
@ -70,6 +71,7 @@
-->
<_TransitiveExternalAspNetCoreAppReference Include="System.Security.Cryptography.Pkcs" Version="$(SystemSecurityCryptographyPkcsPackageVersion)" />
<_TransitiveExternalAspNetCoreAppReference Include="System.Security.Permissions" Version="$(SystemSecurityPermissionsPackageVersion)" />
<_TransitiveExternalAspNetCoreAppReference Include="System.Diagnostics.EventLog" Version="$(SystemDiagnosticsEventLogPackageVersion)" />
</ItemGroup>
<ItemGroup Condition=" '$(IsServicingBuild)' == 'true' ">
@ -89,6 +91,7 @@
<_CompilationOnlyReference Include="System.Buffers" />
<_CompilationOnlyReference Include="System.ComponentModel.Annotations" />
<_CompilationOnlyReference Include="System.Runtime.CompilerServices.Unsafe" />
<_CompilationOnlyReference Include="System.Text.Json" />
</ItemGroup>
<!--

View File

@ -9,384 +9,392 @@
-->
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="3.0.0-preview6.19252.6">
<Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
<Sha>9de59ed2540d3067a481763239809024bfee0886</Sha>
<Sha>01d322edb2abb69f04184b47812bb08ea17d3d9e</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="3.0.0-preview6.19252.6">
<Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
<Sha>9de59ed2540d3067a481763239809024bfee0886</Sha>
<Sha>01d322edb2abb69f04184b47812bb08ea17d3d9e</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.Razor" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.CodeAnalysis.Razor" Version="3.0.0-preview6.19252.6">
<Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
<Sha>9de59ed2540d3067a481763239809024bfee0886</Sha>
<Sha>01d322edb2abb69f04184b47812bb08ea17d3d9e</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk.Razor" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.NET.Sdk.Razor" Version="3.0.0-preview6.19252.6">
<Uri>https://github.com/aspnet/AspNetCore-Tooling</Uri>
<Sha>9de59ed2540d3067a481763239809024bfee0886</Sha>
<Sha>01d322edb2abb69f04184b47812bb08ea17d3d9e</Sha>
</Dependency>
<Dependency Name="dotnet-ef" Version="3.0.0-preview5.19227.1">
<Dependency Name="dotnet-ef" Version="3.0.0-preview6.19252.4">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>a3a487481629868f83744591ac2918173e239953</Sha>
<Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="3.0.0-preview6.19252.4">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>a3a487481629868f83744591ac2918173e239953</Sha>
<Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="3.0.0-preview6.19252.4">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>a3a487481629868f83744591ac2918173e239953</Sha>
<Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="3.0.0-preview6.19252.4">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>a3a487481629868f83744591ac2918173e239953</Sha>
<Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0-preview6.19252.4">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>a3a487481629868f83744591ac2918173e239953</Sha>
<Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0-preview6.19252.4">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>a3a487481629868f83744591ac2918173e239953</Sha>
<Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore" Version="3.0.0-preview5.19227.1">
<Dependency Name="Microsoft.EntityFrameworkCore" Version="3.0.0-preview6.19252.4">
<Uri>https://github.com/aspnet/EntityFrameworkCore</Uri>
<Sha>a3a487481629868f83744591ac2918173e239953</Sha>
<Sha>08edd86216be4857b45b47bf0a9b29e98e525c05</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.ActivatorUtilities.Sources" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.ActivatorUtilities.Sources" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Caching.SqlServer" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Caching.SqlServer" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Caching.StackExchangeRedis" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.CommandLineUtils.Sources" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.CommandLineUtils.Sources" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.KeyPerFile" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.KeyPerFile" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Configuration" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Configuration" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.DiagnosticAdapter" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.DiagnosticAdapter" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Diagnostics.HealthChecks" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.HashCodeCombiner.Sources" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.HashCodeCombiner.Sources" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Hosting" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Hosting" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Http" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Http" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Localization.Abstractions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Localization.Abstractions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Localization" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Localization" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.AzureAppServices" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.AzureAppServices" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Testing" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging.Testing" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.ObjectPool" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Logging" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.ObjectPool" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Options" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Options" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Primitives" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.TypeNameHelper.Sources" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.Primitives" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.ValueStopwatch.Sources" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.TypeNameHelper.Sources" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.WebEncoders" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.ValueStopwatch.Sources" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Internal.Extensions.Refs" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Extensions.WebEncoders" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.JSInterop" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.Internal.Extensions.Refs" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Mono.WebAssembly.Interop" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.JSInterop" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.Bcl.Json.Sources" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="Mono.WebAssembly.Interop" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.CSharp" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="Microsoft.CSharp" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="Microsoft.Win32.Registry" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="Microsoft.Win32.Registry" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.ComponentModel.Annotations" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.ComponentModel.Annotations" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Data.SqlClient" Version="4.7.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Data.SqlClient" Version="4.7.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Diagnostics.EventLog" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Diagnostics.EventLog" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.IO.Pipelines" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.IO.Pipelines" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Net.Http.WinHttpHandler" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Net.Http.WinHttpHandler" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Reflection.Metadata" Version="1.7.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Reflection.Metadata" Version="1.7.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Security.Cryptography.Cng" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Security.Cryptography.Cng" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Security.Cryptography.Pkcs" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Security.Cryptography.Pkcs" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Security.Cryptography.Xml" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Security.Cryptography.Xml" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Security.Permissions" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Security.Permissions" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Security.Principal.Windows" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Security.Principal.Windows" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.ServiceProcess.ServiceController" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.ServiceProcess.ServiceController" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Text.Encodings.Web" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Text.Encodings.Web" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Text.Json" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="System.Threading.Channels" Version="4.6.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="System.Threading.Channels" Version="4.6.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.0.0-preview5-27626-15" CoherentParentDependency="Microsoft.Extensions.Logging">
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.0.0-preview6-27702-07" CoherentParentDependency="Microsoft.Extensions.Logging">
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>61f30f5a23af498908cadd9cc282d4d67d71f522</Sha>
<Sha>2882fcdfd1846578a0c0336e1ba387ab0a1b602f</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App" Version="3.0.0-preview5-27626-15" CoherentParentDependency="Microsoft.Extensions.Logging">
<Dependency Name="Microsoft.NETCore.App" Version="3.0.0-preview6-27702-07" CoherentParentDependency="Microsoft.Extensions.Logging">
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>61f30f5a23af498908cadd9cc282d4d67d71f522</Sha>
<Sha>2882fcdfd1846578a0c0336e1ba387ab0a1b602f</Sha>
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
<Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview5.19224.8" CoherentParentDependency="Microsoft.NETCore.App">
<Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview6.19252.1" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>d06ce9d2116cb4bda528822e63d32ce3735ea653</Sha>
<Sha>3728c9618debe640c22d7469fe4aa937f4a774b7</Sha>
</Dependency>
<Dependency Name="Internal.AspNetCore.Analyzers" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Internal.AspNetCore.Analyzers" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19218.7">
<Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19252.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>5e7ce5b394f3477bb0a485a4b761b7742e95be37</Sha>
<Sha>ed63a7faf2d119829dd971be91bb46b6ebaa1dd2</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-preview5.19227.9" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19252.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ed63a7faf2d119829dd971be91bb46b6ebaa1dd2</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-preview6.19252.7" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>37c9491d952d3276519817f3d959432847aa3e4a</Sha>
<Sha>1b1558ebc1f33a70c76736f6a26d907b6dcca270</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>

View File

@ -17,106 +17,107 @@
-->
<PropertyGroup Label="Automated">
<!-- Packages from dotnet/arcade -->
<MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19218.7</MicrosoftDotNetGenAPIPackageVersion>
<MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19252.2</MicrosoftDotNetGenAPIPackageVersion>
<!-- Packages from dotnet/core-setup -->
<MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview5-27626-15</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreAppPackageVersion>3.0.0-preview5-27626-15</MicrosoftNETCoreAppPackageVersion>
<MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview6-27702-07</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreAppPackageVersion>3.0.0-preview6-27702-07</MicrosoftNETCoreAppPackageVersion>
<!-- Packages from dotnet/corefx -->
<MicrosoftBclJsonSourcesPackageVersion>4.6.0-preview5.19224.8</MicrosoftBclJsonSourcesPackageVersion>
<MicrosoftCSharpPackageVersion>4.6.0-preview5.19224.8</MicrosoftCSharpPackageVersion>
<MicrosoftWin32RegistryPackageVersion>4.6.0-preview5.19224.8</MicrosoftWin32RegistryPackageVersion>
<SystemComponentModelAnnotationsPackageVersion>4.6.0-preview5.19224.8</SystemComponentModelAnnotationsPackageVersion>
<SystemDataSqlClientPackageVersion>4.7.0-preview5.19224.8</SystemDataSqlClientPackageVersion>
<SystemDiagnosticsEventLogPackageVersion>4.6.0-preview5.19224.8</SystemDiagnosticsEventLogPackageVersion>
<SystemIOPipelinesPackageVersion>4.6.0-preview5.19224.8</SystemIOPipelinesPackageVersion>
<SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview5.19224.8</SystemNetHttpWinHttpHandlerPackageVersion>
<SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview5.19224.8</SystemNetWebSocketsWebSocketProtocolPackageVersion>
<SystemReflectionMetadataPackageVersion>1.7.0-preview5.19224.8</SystemReflectionMetadataPackageVersion>
<SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview5.19224.8</SystemRuntimeCompilerServicesUnsafePackageVersion>
<SystemSecurityCryptographyCngPackageVersion>4.6.0-preview5.19224.8</SystemSecurityCryptographyCngPackageVersion>
<SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview5.19224.8</SystemSecurityCryptographyPkcsPackageVersion>
<SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview5.19224.8</SystemSecurityCryptographyXmlPackageVersion>
<SystemSecurityPermissionsPackageVersion>4.6.0-preview5.19224.8</SystemSecurityPermissionsPackageVersion>
<SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview5.19224.8</SystemSecurityPrincipalWindowsPackageVersion>
<SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview5.19224.8</SystemServiceProcessServiceControllerPackageVersion>
<SystemTextEncodingsWebPackageVersion>4.6.0-preview5.19224.8</SystemTextEncodingsWebPackageVersion>
<SystemThreadingChannelsPackageVersion>4.6.0-preview5.19224.8</SystemThreadingChannelsPackageVersion>
<MicrosoftCSharpPackageVersion>4.6.0-preview6.19252.1</MicrosoftCSharpPackageVersion>
<MicrosoftWin32RegistryPackageVersion>4.6.0-preview6.19252.1</MicrosoftWin32RegistryPackageVersion>
<SystemComponentModelAnnotationsPackageVersion>4.6.0-preview6.19252.1</SystemComponentModelAnnotationsPackageVersion>
<SystemDataSqlClientPackageVersion>4.7.0-preview6.19252.1</SystemDataSqlClientPackageVersion>
<SystemDiagnosticsEventLogPackageVersion>4.6.0-preview6.19252.1</SystemDiagnosticsEventLogPackageVersion>
<SystemIOPipelinesPackageVersion>4.6.0-preview6.19252.1</SystemIOPipelinesPackageVersion>
<SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview6.19252.1</SystemNetHttpWinHttpHandlerPackageVersion>
<SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview6.19252.1</SystemNetWebSocketsWebSocketProtocolPackageVersion>
<SystemReflectionMetadataPackageVersion>1.7.0-preview6.19252.1</SystemReflectionMetadataPackageVersion>
<SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview6.19252.1</SystemRuntimeCompilerServicesUnsafePackageVersion>
<SystemSecurityCryptographyCngPackageVersion>4.6.0-preview6.19252.1</SystemSecurityCryptographyCngPackageVersion>
<SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview6.19252.1</SystemSecurityCryptographyPkcsPackageVersion>
<SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview6.19252.1</SystemSecurityCryptographyXmlPackageVersion>
<SystemSecurityPermissionsPackageVersion>4.6.0-preview6.19252.1</SystemSecurityPermissionsPackageVersion>
<SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview6.19252.1</SystemSecurityPrincipalWindowsPackageVersion>
<SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview6.19252.1</SystemServiceProcessServiceControllerPackageVersion>
<SystemTextEncodingsWebPackageVersion>4.6.0-preview6.19252.1</SystemTextEncodingsWebPackageVersion>
<SystemTextJsonPackageVersion>4.6.0-preview6.19252.1</SystemTextJsonPackageVersion>
<SystemThreadingChannelsPackageVersion>4.6.0-preview6.19252.1</SystemThreadingChannelsPackageVersion>
<!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
<MicrosoftNETCorePlatformsPackageVersion>3.0.0-preview5.19224.8</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCorePlatformsPackageVersion>3.0.0-preview6.19252.1</MicrosoftNETCorePlatformsPackageVersion>
<!-- Packages from aspnet/Extensions -->
<InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview5.19227.9</InternalAspNetCoreAnalyzersPackageVersion>
<MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview5.19227.9</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
<MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview5.19227.9</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
<MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview5.19227.9</MicrosoftAspNetCoreTestingPackageVersion>
<MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
<MicrosoftExtensionsCachingAbstractionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsCachingAbstractionsPackageVersion>
<MicrosoftExtensionsCachingMemoryPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsCachingMemoryPackageVersion>
<MicrosoftExtensionsCachingSqlServerPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsCachingSqlServerPackageVersion>
<MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>
<MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
<MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
<MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationBinderPackageVersion>
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
<MicrosoftExtensionsConfigurationIniPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationIniPackageVersion>
<MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationJsonPackageVersion>
<MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
<MicrosoftExtensionsConfigurationPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationPackageVersion>
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
<MicrosoftExtensionsConfigurationXmlPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsConfigurationXmlPackageVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
<MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsDependencyInjectionPackageVersion>
<MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
<MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>
<MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
<MicrosoftExtensionsFileProvidersCompositePackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsFileProvidersCompositePackageVersion>
<MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
<MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
<MicrosoftExtensionsHostingAbstractionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsHostingAbstractionsPackageVersion>
<MicrosoftExtensionsHostingPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsHostingPackageVersion>
<MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
<MicrosoftExtensionsHttpPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsHttpPackageVersion>
<MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLocalizationAbstractionsPackageVersion>
<MicrosoftExtensionsLocalizationPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLocalizationPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
<MicrosoftExtensionsLoggingConfigurationPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingConfigurationPackageVersion>
<MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingConsolePackageVersion>
<MicrosoftExtensionsLoggingDebugPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingDebugPackageVersion>
<MicrosoftExtensionsLoggingEventSourcePackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingEventSourcePackageVersion>
<MicrosoftExtensionsLoggingPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingPackageVersion>
<MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingTestingPackageVersion>
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
<MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsObjectPoolPackageVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
<MicrosoftExtensionsOptionsPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsOptionsPackageVersion>
<MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
<MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
<MicrosoftExtensionsWebEncodersPackageVersion>3.0.0-preview5.19227.9</MicrosoftExtensionsWebEncodersPackageVersion>
<MicrosoftInternalExtensionsRefsPackageVersion>3.0.0-preview5.19227.9</MicrosoftInternalExtensionsRefsPackageVersion>
<MicrosoftJSInteropPackageVersion>3.0.0-preview5.19227.9</MicrosoftJSInteropPackageVersion>
<MonoWebAssemblyInteropPackageVersion>3.0.0-preview5.19227.9</MonoWebAssemblyInteropPackageVersion>
<InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview6.19252.7</InternalAspNetCoreAnalyzersPackageVersion>
<MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview6.19252.7</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
<MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview6.19252.7</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
<MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview6.19252.7</MicrosoftAspNetCoreTestingPackageVersion>
<MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
<MicrosoftExtensionsCachingAbstractionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsCachingAbstractionsPackageVersion>
<MicrosoftExtensionsCachingMemoryPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsCachingMemoryPackageVersion>
<MicrosoftExtensionsCachingSqlServerPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsCachingSqlServerPackageVersion>
<MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsCachingStackExchangeRedisPackageVersion>
<MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
<MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
<MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationBinderPackageVersion>
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
<MicrosoftExtensionsConfigurationIniPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationIniPackageVersion>
<MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationJsonPackageVersion>
<MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
<MicrosoftExtensionsConfigurationPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationPackageVersion>
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
<MicrosoftExtensionsConfigurationXmlPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsConfigurationXmlPackageVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
<MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsDependencyInjectionPackageVersion>
<MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
<MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion>
<MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion>
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
<MicrosoftExtensionsFileProvidersCompositePackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsFileProvidersCompositePackageVersion>
<MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
<MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
<MicrosoftExtensionsHostingAbstractionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsHostingAbstractionsPackageVersion>
<MicrosoftExtensionsHostingPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsHostingPackageVersion>
<MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
<MicrosoftExtensionsHttpPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsHttpPackageVersion>
<MicrosoftExtensionsLocalizationAbstractionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLocalizationAbstractionsPackageVersion>
<MicrosoftExtensionsLocalizationPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLocalizationPackageVersion>
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
<MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
<MicrosoftExtensionsLoggingConfigurationPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingConfigurationPackageVersion>
<MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingConsolePackageVersion>
<MicrosoftExtensionsLoggingDebugPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingDebugPackageVersion>
<MicrosoftExtensionsLoggingEventSourcePackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingEventSourcePackageVersion>
<MicrosoftExtensionsLoggingEventLogPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingEventLogPackageVersion>
<MicrosoftExtensionsLoggingPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingPackageVersion>
<MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingTestingPackageVersion>
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
<MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsObjectPoolPackageVersion>
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
<MicrosoftExtensionsOptionsPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsOptionsPackageVersion>
<MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
<MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
<MicrosoftExtensionsWebEncodersPackageVersion>3.0.0-preview6.19252.7</MicrosoftExtensionsWebEncodersPackageVersion>
<MicrosoftInternalExtensionsRefsPackageVersion>3.0.0-preview6.19252.7</MicrosoftInternalExtensionsRefsPackageVersion>
<MicrosoftJSInteropPackageVersion>3.0.0-preview6.19252.7</MicrosoftJSInteropPackageVersion>
<MonoWebAssemblyInteropPackageVersion>3.0.0-preview6.19252.7</MonoWebAssemblyInteropPackageVersion>
<!-- Packages from aspnet/EntityFrameworkCore -->
<dotnetefPackageVersion>3.0.0-preview5.19227.1</dotnetefPackageVersion>
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.0.0-preview5.19227.1</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>3.0.0-preview5.19227.1</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>3.0.0-preview5.19227.1</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>3.0.0-preview5.19227.1</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
<MicrosoftEntityFrameworkCoreToolsPackageVersion>3.0.0-preview5.19227.1</MicrosoftEntityFrameworkCoreToolsPackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>3.0.0-preview5.19227.1</MicrosoftEntityFrameworkCorePackageVersion>
<dotnetefPackageVersion>3.0.0-preview6.19252.4</dotnetefPackageVersion>
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
<MicrosoftEntityFrameworkCoreToolsPackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCoreToolsPackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>3.0.0-preview6.19252.4</MicrosoftEntityFrameworkCorePackageVersion>
<!-- Packages from aspnet/AspNetCore-Tooling -->
<MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.0.0-preview5.19227.1</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
<MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview5.19227.1</MicrosoftAspNetCoreRazorLanguagePackageVersion>
<MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview5.19227.1</MicrosoftCodeAnalysisRazorPackageVersion>
<MicrosoftNETSdkRazorPackageVersion>3.0.0-preview5.19227.1</MicrosoftNETSdkRazorPackageVersion>
<MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.0.0-preview6.19252.6</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
<MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview6.19252.6</MicrosoftAspNetCoreRazorLanguagePackageVersion>
<MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview6.19252.6</MicrosoftCodeAnalysisRazorPackageVersion>
<MicrosoftNETSdkRazorPackageVersion>3.0.0-preview6.19252.6</MicrosoftNETSdkRazorPackageVersion>
</PropertyGroup>
<!--
@ -130,7 +131,7 @@
<PropertyGroup Label="Manual">
<!-- Build tool dependencies -->
<InternalAspNetCoreSdkPackageVersion>$(KoreBuildVersion)</InternalAspNetCoreSdkPackageVersion>
<InternalAspNetCoreSdkPackageVersion Condition=" '$(KoreBuildVersion)' == '' ">3.0.0-build-20190219.1</InternalAspNetCoreSdkPackageVersion>
<InternalAspNetCoreSdkPackageVersion Condition=" '$(KoreBuildVersion)' == '' ">3.0.0-build-20190430.1</InternalAspNetCoreSdkPackageVersion>
<MicrosoftNETFrameworkReferenceAssembliesPackageVersion>1.0.0-alpha-004</MicrosoftNETFrameworkReferenceAssembliesPackageVersion>
<MicrosoftNETTestSdkPackageVersion>15.9.0</MicrosoftNETTestSdkPackageVersion>
<MicrosoftSourceLinkGitHubPackageVersion>1.0.0-beta2-18618-05</MicrosoftSourceLinkGitHubPackageVersion>
@ -174,7 +175,7 @@
<CastleCorePackageVersion>4.2.1</CastleCorePackageVersion>
<FSharpCorePackageVersion>4.2.1</FSharpCorePackageVersion>
<GoogleProtobufPackageVersion>3.7.0</GoogleProtobufPackageVersion>
<GrpcAspNetCoreServerPackageVersion>0.1.20-pre1</GrpcAspNetCoreServerPackageVersion>
<GrpcAspNetCoreServerPackageVersion>0.1.21-dev201905010701</GrpcAspNetCoreServerPackageVersion>
<GrpcToolsPackageVersion>1.20.0-pre3</GrpcToolsPackageVersion>
<IdentityServer4AspNetIdentityPackageVersion>3.0.0-preview3.4</IdentityServer4AspNetIdentityPackageVersion>
<IdentityServer4EntityFrameworkPackageVersion>3.0.0-preview3.4</IdentityServer4EntityFrameworkPackageVersion>
@ -194,7 +195,6 @@
<SerilogSinksFilePackageVersion>4.0.0</SerilogSinksFilePackageVersion>
<StackExchangeRedisPackageVersion>2.0.513</StackExchangeRedisPackageVersion>
<SystemReactiveLinqPackageVersion>3.1.1</SystemReactiveLinqPackageVersion>
<Utf8JsonPackageVersion>1.3.7</Utf8JsonPackageVersion>
<XunitAbstractionsPackageVersion>2.0.3</XunitAbstractionsPackageVersion>
<XunitAnalyzersPackageVersion>0.10.0</XunitAnalyzersPackageVersion>
<XunitVersion>2.4.1</XunitVersion>

View File

@ -1,13 +1,10 @@
<Project DefaultTargets="Test">
<!-- Version included until we get global.json generation to support this SDK. -->
<Sdk Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19105.2" />
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
<Import Project="$(RepositoryRoot)\eng\targets\Helix.Common.props" />
<Import Project="$(RepositoryRoot)\build\repo.props" />
<ItemGroup>
<HelixTargetQueue Include="@(HelixAvailibleTargetQueue)" />
<HelixTargetQueue Include="@(HelixAvailableTargetQueue)" />
</ItemGroup>
<PropertyGroup>

View File

@ -45,6 +45,7 @@ try {
Write-Host "Checking that Versions.props and Version.Details.xml match"
[xml] $versionProps = Get-Content "$repoRoot/eng/Versions.props"
[xml] $versionDetails = Get-Content "$repoRoot/eng/Version.Details.xml"
$globalJson = Get-Content $repoRoot/global.json | ConvertFrom-Json
$versionVars = New-Object 'System.Collections.Generic.HashSet[string]'
foreach ($vars in $versionProps.SelectNodes("//PropertyGroup[`@Label=`"Automated`"]/*")) {
@ -53,24 +54,38 @@ try {
foreach ($dep in $versionDetails.SelectNodes('//Dependency')) {
Write-Verbose "Found $dep"
$varName = $dep.Name -replace '\.',''
$varName = $varName -replace '\-',''
$varName = "${varName}PackageVersion"
$versionVar = $versionProps.SelectSingleNode("//PropertyGroup[`@Label=`"Automated`"]/$varName")
if (-not $versionVar) {
LogError "Missing version variable '$varName' in the 'Automated' property group in $repoRoot/eng/Versions.props"
continue
}
$versionVars.Remove($varName) | Out-Null
$expectedVersion = $dep.Version
$actualVersion = $versionVar.InnerText
if ($expectedVersion -ne $actualVersion) {
LogError `
"Version variable '$varName' does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'" `
-filepath "$repoRoot\eng\Versions.props"
if ($dep.Name -in $globalJson.'msbuild-sdks'.PSObject.Properties.Name) {
$actualVersion = $globalJson.'msbuild-sdks'.($dep.Name)
if ($expectedVersion -ne $actualVersion) {
LogError `
"MSBuild SDK version '$($dep.Name)' in global.json does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'" `
-filepath "$repoRoot\global.json"
}
}
else {
$varName = $dep.Name -replace '\.',''
$varName = $varName -replace '\-',''
$varName = "${varName}PackageVersion"
$versionVar = $versionProps.SelectSingleNode("//PropertyGroup[`@Label=`"Automated`"]/$varName")
$actualVersion = $versionVar.InnerText
$versionVars.Remove($varName) | Out-Null
if (-not $versionVar) {
LogError "Missing version variable '$varName' in the 'Automated' property group in $repoRoot/eng/Versions.props"
continue
}
if ($expectedVersion -ne $actualVersion) {
LogError `
"Version variable '$varName' does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'" `
-filepath "$repoRoot\eng\Versions.props"
}
}
}
@ -143,7 +158,7 @@ try {
if ($changedFiles) {
foreach ($file in $changedFiles) {
$filePath = Resolve-Path "${repoRoot}/${file}"
LogError "Generated code is not up to date in $file." -filepath $filePath
LogError "Generated code is not up to date in $file. You might need to regenerate the reference assemblies or project list (see docs/ReferenceAssemblies.md and docs/ReferenceResolution.md)" -filepath $filePath
& git --no-pager diff --ignore-space-at-eol $filePath
}
}

View File

@ -1,27 +1,28 @@
<Project>
<ItemDefinitionGroup>
<HelixAvailibleTargetQueue>
<EnableByDefault>true</EnableByDefault>
</HelixAvailibleTargetQueue>
</ItemDefinitionGroup>
<ItemDefinitionGroup>
<HelixAvailableTargetQueue>
<EnableByDefault>true</EnableByDefault>
</HelixAvailableTargetQueue>
</ItemDefinitionGroup>
<!-- this file is shared between Helix.proj and .csproj files -->
<ItemGroup>
<HelixAvailblePlatform Include="Windows" />
<HelixAvailblePlatform Include="OSX" />
<HelixAvailblePlatform Include="Linux" />
<!-- this file is shared between Helix.proj and .csproj files -->
<ItemGroup>
<HelixAvailablePlatform Include="Windows" />
<HelixAvailablePlatform Include="OSX" />
<HelixAvailablePlatform Include="Linux" />
<HelixAvailibleTargetQueue Include="Windows.10.Amd64.ClientRS4.VS2017.Open" Platform="Windows" />
<HelixAvailibleTargetQueue Include="Windows.10.Amd64.EnterpriseRS3.ASPNET.Open" Platform="Windows" EnableByDefault="false" />
<HelixAvailibleTargetQueue Include="OSX.1012.Amd64.Open" Platform="OSX" />
<HelixAvailibleTargetQueue Include="Ubuntu.1810.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Ubuntu.1604.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Centos.7.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Debian.8.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Redhat.7.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Fedora.28.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Windows.10.Amd64.ClientRS4.VS2017.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Windows.10.Amd64.EnterpriseRS3.ASPNET.Open" Platform="Windows" EnableByDefault="false" />
<HelixAvailableTargetQueue Include="OSX.1012.Amd64.Open" Platform="OSX" />
<HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="OSX" />
<HelixAvailableTargetQueue Include="Ubuntu.1810.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Ubuntu.1604.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Centos.7.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Debian.8.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Redhat.7.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Fedora.28.Amd64.Open" Platform="Linux" />
<!-- TODO: re-enable Debian.9.Arm64.Open and Ubuntu.1804.Arm64.Open -->
</ItemGroup>
<!-- TODO: re-enable Debian.9.Arm64.Open and Ubuntu.1804.Arm64.Open -->
</ItemGroup>
</Project>

View File

@ -25,7 +25,7 @@
</ItemGroup>
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'">
<HelixProjectPlatform Include="@(HelixAvailblePlatform)" />
<HelixProjectPlatform Include="@(HelixAvailablePlatform)" />
<HelixContent Include="$(RepositoryRoot)eng\helix\vstest\runtests.sh" />
<HelixContent Include="$(RepositoryRoot)eng\helix\vstest\runtests.cmd" />

View File

@ -30,7 +30,7 @@
<ItemGroup>
<!-- Include default queues based on platform -->
<_HelixProjectTargetQueue Include="%(HelixAvailibleTargetQueue.Identity)" Condition="'$(_SelectedPlatforms.Contains(%(Platform)))' == 'true' AND '%(EnableByDefault)' == 'true'" />
<_HelixProjectTargetQueue Include="%(HelixAvailableTargetQueue.Identity)" Condition="'$(_SelectedPlatforms.Contains(%(Platform)))' == 'true' AND '%(EnableByDefault)' == 'true'" />
<!-- Unconditionally include queues defined by project -->
<_HelixProjectTargetQueue Include="%(HelixProjectTargetQueue.Identity)" />

View File

@ -18,7 +18,7 @@
<Target Name="Restore">
<Message Importance="High" Text="Running yarn install on $(MSBuildProjectFullPath)" />
<Yarn Command="install $(InstallArgs)" StandardOutputImportance="High" StandardErrorImportance="High" />
<Yarn Command="install --mutex network $(InstallArgs)" StandardOutputImportance="High" StandardErrorImportance="High" />
</Target>
<Target Name="PrepareForBuild">

View File

@ -1,8 +1,9 @@
{
"sdk": {
"version": "3.0.100-preview4-011136"
"version": "3.0.100-preview5-011568"
},
"msbuild-sdks": {
"Yarn.MSBuild": "1.13.0"
"Yarn.MSBuild": "1.13.0",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19252.2"
}
}

View File

@ -1,2 +1,2 @@
version:3.0.0-build-20190412.2
commithash:0e543fb8761394491250585d3811bdbb62e350e8
version:3.0.0-build-20190502.5
commithash:4889b4d995a0c0fddf132332540bcb2ccc6e90f1

View File

@ -73,7 +73,7 @@ namespace Microsoft.AspNetCore.Antiforgery
if (_options.Cookie.Path != null)
{
options.Path = _options.Cookie.Path.ToString();
options.Path = _options.Cookie.Path;
}
else
{

View File

@ -1,456 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Antiforgery, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "AddAntiforgery",
"Parameters": [
{
"Name": "services",
"Type": "Microsoft.Extensions.DependencyInjection.IServiceCollection"
}
],
"ReturnType": "Microsoft.Extensions.DependencyInjection.IServiceCollection",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddAntiforgery",
"Parameters": [
{
"Name": "services",
"Type": "Microsoft.Extensions.DependencyInjection.IServiceCollection"
},
{
"Name": "setupAction",
"Type": "System.Action<Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions>"
}
],
"ReturnType": "Microsoft.Extensions.DependencyInjection.IServiceCollection",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_Cookie",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Http.CookieBuilder",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_Cookie",
"Parameters": [
{
"Name": "value",
"Type": "Microsoft.AspNetCore.Http.CookieBuilder"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_FormFieldName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_FormFieldName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_HeaderName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_HeaderName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_SuppressXFrameOptionsHeader",
"Parameters": [],
"ReturnType": "System.Boolean",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_SuppressXFrameOptionsHeader",
"Parameters": [
{
"Name": "value",
"Type": "System.Boolean"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CookieName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CookieName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CookiePath",
"Parameters": [],
"ReturnType": "System.Nullable<Microsoft.AspNetCore.Http.PathString>",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CookiePath",
"Parameters": [
{
"Name": "value",
"Type": "System.Nullable<Microsoft.AspNetCore.Http.PathString>"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CookieDomain",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CookieDomain",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_RequireSsl",
"Parameters": [],
"ReturnType": "System.Boolean",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_RequireSsl",
"Parameters": [
{
"Name": "value",
"Type": "System.Boolean"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "DefaultCookiePrefix",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_RequestToken",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_FormFieldName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_HeaderName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CookieToken",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "requestToken",
"Type": "System.String"
},
{
"Name": "cookieToken",
"Type": "System.String"
},
{
"Name": "formFieldName",
"Type": "System.String"
},
{
"Name": "headerName",
"Type": "System.String"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException",
"Visibility": "Public",
"Kind": "Class",
"BaseType": "System.Exception",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "message",
"Type": "System.String"
}
],
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "message",
"Type": "System.String"
},
{
"Name": "innerException",
"Type": "System.Exception"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Antiforgery.IAntiforgery",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "GetAndStoreTokens",
"Parameters": [
{
"Name": "httpContext",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
}
],
"ReturnType": "Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetTokens",
"Parameters": [
{
"Name": "httpContext",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
}
],
"ReturnType": "Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "IsRequestValidAsync",
"Parameters": [
{
"Name": "httpContext",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
}
],
"ReturnType": "System.Threading.Tasks.Task<System.Boolean>",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ValidateRequestAsync",
"Parameters": [
{
"Name": "httpContext",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "SetCookieTokenAndHeader",
"Parameters": [
{
"Name": "httpContext",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "GetAdditionalData",
"Parameters": [
{
"Name": "context",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
}
],
"ReturnType": "System.String",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ValidateAdditionalData",
"Parameters": [
{
"Name": "context",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
},
{
"Name": "additionalData",
"Type": "System.String"
}
],
"ReturnType": "System.Boolean",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,505 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Authentication.AzureAD.UI, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Authentication.AzureADAuthenticationBuilderExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "AddAzureADBearer",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions>"
}
],
"ReturnType": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddAzureADBearer",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder"
},
{
"Name": "scheme",
"Type": "System.String"
},
{
"Name": "jwtBearerScheme",
"Type": "System.String"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions>"
}
],
"ReturnType": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddAzureAD",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions>"
}
],
"ReturnType": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddAzureAD",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder"
},
{
"Name": "scheme",
"Type": "System.String"
},
{
"Name": "openIdConnectScheme",
"Type": "System.String"
},
{
"Name": "cookieScheme",
"Type": "System.String"
},
{
"Name": "displayName",
"Type": "System.String"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions>"
}
],
"ReturnType": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADDefaults",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Field",
"Name": "OpenIdScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "CookieScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "BearerAuthenticationScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "JwtBearerAuthenticationScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "AuthenticationScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "DisplayName",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_OpenIdConnectSchemeName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_OpenIdConnectSchemeName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CookieSchemeName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CookieSchemeName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_JwtBearerSchemeName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ClientId",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ClientId",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ClientSecret",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ClientSecret",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_TenantId",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_TenantId",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Instance",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_Instance",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Domain",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_Domain",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CallbackPath",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CallbackPath",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_SignedOutCallbackPath",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_SignedOutCallbackPath",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_AllSchemes",
"Parameters": [],
"ReturnType": "System.String[]",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADSchemeOptions+AzureADOpenIDSchemeMapping",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_OpenIdConnectScheme",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_OpenIdConnectScheme",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CookieScheme",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CookieScheme",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADSchemeOptions+JwtBearerSchemeMapping",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_JwtBearerScheme",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_JwtBearerScheme",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.using Microsoft.AspNetCore.Authorization;
using System;
@ -65,7 +65,7 @@ namespace Microsoft.AspNetCore.Authentication.AzureADB2C.UI
if (context.Failure is OpenIdConnectProtocolException && context.Failure.Message.Contains("AADB2C90118"))
{
// If the user clicked the reset password link, redirect to the reset password route
context.Response.Redirect($"/AzureADB2C/Account/ResetPassword/{SchemeName}");
context.Response.Redirect($"{context.Request.PathBase}/AzureADB2C/Account/ResetPassword/{SchemeName}");
}
// Access denied errors happen when a user cancels an action on the Azure Active Directory B2C UI. We just redirect back to
// the main page in that case.
@ -75,11 +75,11 @@ namespace Microsoft.AspNetCore.Authentication.AzureADB2C.UI
// ', error_uri: 'error_uri is null'.
else if (context.Failure is OpenIdConnectProtocolException && context.Failure.Message.Contains("access_denied"))
{
context.Response.Redirect("/");
context.Response.Redirect($"{context.Request.PathBase}/");
}
else
{
context.Response.Redirect("/AzureADB2C/Account/Error");
context.Response.Redirect($"{context.Request.PathBase}/AzureADB2C/Account/Error");
}
return Task.CompletedTask;

View File

@ -1,565 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Authentication.AzureADB2C.UI, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Authentication.AzureADB2CAuthenticationBuilderExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "AddAzureADB2CBearer",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions>"
}
],
"ReturnType": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddAzureADB2CBearer",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder"
},
{
"Name": "scheme",
"Type": "System.String"
},
{
"Name": "jwtBearerScheme",
"Type": "System.String"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions>"
}
],
"ReturnType": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddAzureADB2C",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions>"
}
],
"ReturnType": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddAzureADB2C",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder"
},
{
"Name": "scheme",
"Type": "System.String"
},
{
"Name": "openIdConnectScheme",
"Type": "System.String"
},
{
"Name": "cookieScheme",
"Type": "System.String"
},
{
"Name": "displayName",
"Type": "System.String"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions>"
}
],
"ReturnType": "Microsoft.AspNetCore.Authentication.AuthenticationBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Field",
"Name": "PolicyKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "OpenIdScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "CookieScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "BearerAuthenticationScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "JwtBearerAuthenticationScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "AuthenticationScheme",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "DisplayName",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_OpenIdConnectSchemeName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_OpenIdConnectSchemeName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CookieSchemeName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CookieSchemeName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_JwtBearerSchemeName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ClientId",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ClientId",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ClientSecret",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ClientSecret",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Instance",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_Instance",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Domain",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_Domain",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_EditProfilePolicyId",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_EditProfilePolicyId",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_SignUpSignInPolicyId",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_SignUpSignInPolicyId",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ResetPasswordPolicyId",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ResetPasswordPolicyId",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CallbackPath",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CallbackPath",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_SignedOutCallbackPath",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_SignedOutCallbackPath",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_DefaultPolicy",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_AllSchemes",
"Parameters": [],
"ReturnType": "System.String[]",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CSchemeOptions+AzureADB2COpenIDSchemeMapping",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_OpenIdConnectScheme",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_OpenIdConnectScheme",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_CookieScheme",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_CookieScheme",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CSchemeOptions+JwtBearerSchemeMapping",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_JwtBearerScheme",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_JwtBearerScheme",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,39 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.AzureAppServices.HostingStartup, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Hosting.IHostingStartup"
],
"Members": [
{
"Kind": "Method",
"Name": "Configure",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Hosting.IHostingStartup",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,39 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.AzureAppServices.HostingStartup, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Hosting.IHostingStartup"
],
"Members": [
{
"Kind": "Method",
"Name": "Configure",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Hosting.IHostingStartup",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,32 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.AzureAppServicesIntegration, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Hosting.AppServicesWebHostBuilderExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "UseAzureAppServices",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -41,9 +41,9 @@ namespace Microsoft.AspNetCore.Blazor.Http
{
public enum FetchCredentialsOption
{
Include = 2,
Omit = 0,
SameOrigin = 1,
Include = 2,
}
public partial class WebAssemblyHttpMessageHandler : System.Net.Http.HttpMessageHandler
{

View File

@ -350,7 +350,7 @@ namespace Test
// Assert: Captured ChildContent frames are correct
var childFrames = GetFrames((RenderFragment)frames[2].AttributeValue);
Assert.Collection(
childFrames,
childFrames.AsEnumerable(),
frame => AssertFrame.Text(frame, "Some text", 3),
frame => AssertFrame.Element(frame, "some-child", 4, 4),
frame => AssertFrame.Attribute(frame, "a", "1", 5),
@ -393,7 +393,7 @@ namespace Test
// correct relative to each other (i.e., incrementing) within the nesting level.
// As an implementation detail, it happens that they do follow on from the parent
// level, but we could change that part of the implementation if we wanted.
var innerFrames = GetFrames((RenderFragment)frames[1].AttributeValue).ToArray();
var innerFrames = GetFrames((RenderFragment)frames[1].AttributeValue).AsEnumerable().ToArray();
Assert.Collection(
innerFrames,
frame => AssertFrame.Component(frame, "Test.MyComponent", 2, 2),
@ -401,7 +401,7 @@ namespace Test
// Assert: second level of ChildContent is correct
Assert.Collection(
GetFrames((RenderFragment)innerFrames[1].AttributeValue),
GetFrames((RenderFragment)innerFrames[1].AttributeValue).AsEnumerable(),
frame => AssertFrame.Text(frame, "Some text", 4));
}
@ -547,7 +547,7 @@ namespace Test
// Assert: Captured ChildContent frames are correct
var childFrames = GetFrames((RenderFragment)frames[6].AttributeValue);
Assert.Collection(
childFrames,
childFrames.AsEnumerable(),
frame => AssertFrame.MarkupWhitespace(frame, 7),
frame => AssertFrame.Markup(frame, "<div><span></span><span></span></div>\n ", 8),
frame => AssertFrame.Element(frame, "div", 2, 9),

View File

@ -457,7 +457,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
protected override Task UpdateDisplayAsync(in RenderBatch renderBatch)
{
LatestBatchReferenceFrames = renderBatch.ReferenceFrames.ToArray();
LatestBatchReferenceFrames = renderBatch.ReferenceFrames.AsEnumerable().ToArray();
return Task.CompletedTask;
}
}

View File

@ -244,22 +244,6 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
frame => AssertFrame.Attribute(frame, "attr", "Hello, WORLD with number 246!", 1));
}
// This test exercises the case where two IntermediateTokens are part of the same expression.
// In these case they are split by a comment.
[Fact]
public void SupportsAttributesWithInterpolatedStringExpressionValues_SplitByComment()
{
// Arrange/Act
var component = CompileToComponent(
"@{ var myValue = \"world\"; var myNum=123; }"
+ "<elem attr=\"Hello, @myValue.ToUpperInvariant() with number @(myN@* Blazor is Blawesome! *@um*2)!\" />");
// Assert
Assert.Collection(GetRenderTree(component),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", "Hello, WORLD with number 246!", 1));
}
[Fact]
public void SupportsAttributesWithInterpolatedTernaryExpressionValues()
{

View File

@ -726,14 +726,12 @@ namespace Microsoft.AspNetCore.Components.Rendering
namespace Microsoft.AspNetCore.Components.RenderTree
{
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct ArrayRange<T> : System.Collections.Generic.IEnumerable<T>, System.Collections.IEnumerable
public readonly partial struct ArrayRange<T>
{
public readonly T[] Array;
public readonly int Count;
public ArrayRange(T[] array, int count) { throw null; }
public Microsoft.AspNetCore.Components.RenderTree.ArrayRange<T> Clone() { throw null; }
System.Collections.Generic.IEnumerator<T> System.Collections.Generic.IEnumerable<T>.GetEnumerator() { throw null; }
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; }
}
public partial class RenderTreeBuilder
{
@ -765,6 +763,7 @@ namespace Microsoft.AspNetCore.Components.RenderTree
public void OpenComponent(int sequence, System.Type componentType) { }
public void OpenComponent<TComponent>(int sequence) where TComponent : Microsoft.AspNetCore.Components.IComponent { }
public void OpenElement(int sequence, string elementName) { }
public void SetKey(object value) { }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct RenderTreeDiff
@ -783,31 +782,31 @@ namespace Microsoft.AspNetCore.Components.RenderTree
public enum RenderTreeEditType
{
PrependFrame = 1,
RemoveAttribute = 4,
RemoveFrame = 2,
SetAttribute = 3,
RemoveAttribute = 4,
UpdateText = 5,
StepIn = 6,
StepOut = 7,
UpdateMarkup = 8,
UpdateText = 5,
}
public enum RenderTreeFrameType
{
Element = 1,
Text = 2,
Attribute = 3,
Component = 4,
ComponentReferenceCapture = 7,
Element = 1,
ElementReferenceCapture = 6,
Markup = 8,
Region = 5,
Text = 2,
ElementReferenceCapture = 6,
ComponentReferenceCapture = 7,
Markup = 8,
}
}
namespace Microsoft.AspNetCore.Components.Routing
{
public enum NavLinkMatch
{
All = 1,
Prefix = 0,
All = 1,
}
}

View File

@ -1,17 +1,13 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Collections;
using System.Collections.Generic;
namespace Microsoft.AspNetCore.Components.RenderTree
{
/// <summary>
/// Represents a range of elements in an array that are in use.
/// </summary>
/// <typeparam name="T">The array item type.</typeparam>
public readonly struct ArrayRange<T> : IEnumerable, IEnumerable<T>
public readonly struct ArrayRange<T>
{
/// <summary>
/// Gets the underlying array instance.
@ -34,14 +30,6 @@ namespace Microsoft.AspNetCore.Components.RenderTree
Count = count;
}
/// <inheritdoc />
IEnumerator<T> IEnumerable<T>.GetEnumerator()
=> ((IEnumerable<T>)new ArraySegment<T>(Array, 0, Count)).GetEnumerator();
/// <inheritdoc />
IEnumerator IEnumerable.GetEnumerator()
=> ((IEnumerable)new ArraySegment<T>(Array, 0, Count)).GetEnumerator();
/// <summary>
/// Creates a shallow clone of the instance.
/// </summary>

View File

@ -448,6 +448,21 @@ namespace Microsoft.AspNetCore.Components.RenderTree
OpenComponentUnchecked(sequence, componentType);
}
/// <summary>
/// Assigns the specified key value to the current element or component.
/// </summary>
/// <param name="value">The value for the key.</param>
public void SetKey(object value)
{
// This is just a placeholder to enable work in parallel in the
// aspnetcore-tooling repo.
//
// The real implementation will involve multiple overloads, likely:
// SetKey(int value) -- underlying logic
// SetKey<T>(T value) where T: struct -- avoids boxing 'value' before calling .GetHashCode()
// SetKey(object value) -- performs null check before calling .GetHashCode()
}
private void OpenComponentUnchecked(int sequence, Type componentType)
{
_openElementIndices.Push(_entries.Count);

View File

@ -32,7 +32,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
var frames = builder.GetFrames();
Assert.NotNull(frames.Array);
Assert.Empty(frames);
Assert.Empty(frames.AsEnumerable());
}
[Fact]
@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
var frames = builder.GetFrames();
Assert.Collection(frames,
Assert.Collection(frames.AsEnumerable(),
frame => AssertFrame.Text(frame, "First item"),
frame => AssertFrame.Text(frame, string.Empty),
frame => AssertFrame.Text(frame, "Second item"));
@ -69,7 +69,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
var frames = builder.GetFrames();
Assert.Collection(frames,
Assert.Collection(frames.AsEnumerable(),
frame => AssertFrame.Element(frame, "some elem", 3),
frame => AssertFrame.Markup(frame, "Blah"),
frame => AssertFrame.Markup(frame, string.Empty));
@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
var frames = builder.GetFrames();
Assert.Collection(frames,
Assert.Collection(frames.AsEnumerable(),
frame => AssertFrame.Markup(frame, "Some markup"),
frame => AssertFrame.Markup(frame, string.Empty));
}
@ -106,7 +106,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
var frames = builder.GetFrames();
Assert.Collection(frames,
Assert.Collection(frames.AsEnumerable(),
frame => AssertFrame.Markup(frame, string.Empty));
}
@ -123,7 +123,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
var frames = builder.GetFrames();
Assert.Collection(frames,
Assert.Collection(frames.AsEnumerable(),
frame => AssertFrame.Text(frame, "1234"),
frame => AssertFrame.Text(frame, string.Empty));
}
@ -138,7 +138,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.OpenElement(0, "my element");
// Assert
var frame = builder.GetFrames().Single();
var frame = builder.GetFrames().AsEnumerable().Single();
AssertFrame.Element(frame, "my element", 0);
}
@ -203,7 +203,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.AddContent(0, "standalone text 2"); // 11: standalone text 2
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Text(frame, "standalone text 1"),
frame => AssertFrame.Element(frame, "root", 10),
frame => AssertFrame.Text(frame, "root text 1"),
@ -236,7 +236,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseElement(); // </myelement>
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "myelement", 6),
frame => AssertFrame.Attribute(frame, "attribute1", "value 1"),
frame => AssertFrame.Attribute(frame, "attribute2", "123"),
@ -363,7 +363,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseElement(); // </parent>
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "parent", 6),
frame => AssertFrame.Component<TestComponent>(frame),
frame => AssertFrame.Attribute(frame, "child1attribute1", "A"),
@ -391,7 +391,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseElement(); // </parent>
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "parent", 6),
frame => AssertFrame.Component<TestComponent>(frame),
frame => AssertFrame.Attribute(frame, "child1attribute1", "A"),
@ -419,7 +419,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseElement(); // </parent>
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "parent", 6, 10),
frame => AssertFrame.Region(frame, 5, 11),
frame => AssertFrame.Text(frame, "Hello", 3),
@ -447,7 +447,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseElement();
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "parent", 5, 10),
frame => AssertFrame.Region(frame, 4, 11),
frame => AssertFrame.Text(frame, "Hello from the fragment", 0),
@ -470,7 +470,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseElement(); // </myelement>
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "myelement", 4, 0),
frame => AssertFrame.Attribute(frame, "attribute2", "123", 1),
frame => AssertFrame.ElementReferenceCapture(frame, referenceCaptureAction, 2),
@ -538,7 +538,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseElement();
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "myelement", 3),
frame => AssertFrame.ElementReferenceCapture(frame, referenceCaptureAction1),
frame => AssertFrame.ElementReferenceCapture(frame, referenceCaptureAction2));
@ -559,7 +559,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseComponent(); // </TestComponent>
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 4, 0),
frame => AssertFrame.Attribute(frame, "attribute2", 123, 1),
frame => AssertFrame.ComponentReferenceCapture(frame, myAction, 2),
@ -627,7 +627,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.CloseComponent();
// Assert
Assert.Collection(builder.GetFrames(),
Assert.Collection(builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 3),
frame => AssertFrame.ComponentReferenceCapture(frame, referenceCaptureAction1),
frame => AssertFrame.ComponentReferenceCapture(frame, referenceCaptureAction2));
@ -647,7 +647,7 @@ namespace Microsoft.AspNetCore.Components.Test
builder.Clear();
// Assert
Assert.Empty(builder.GetFrames());
Assert.Empty(builder.GetFrames().AsEnumerable());
}
[Fact]
@ -663,7 +663,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", true, 1));
}
@ -681,7 +681,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 1, 0));
}
@ -700,7 +700,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -718,7 +718,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", "hi", 1));
}
@ -736,7 +736,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 1, 0));
}
@ -755,7 +755,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -775,7 +775,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -793,7 +793,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 1, 0));
}
@ -812,7 +812,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -830,7 +830,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 1, 0));
}
@ -854,7 +854,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -872,7 +872,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", true, 1));
}
@ -890,7 +890,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 1, 0));
}
@ -909,7 +909,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -927,7 +927,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", "hi", 1));
}
@ -945,7 +945,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 2, 0),
frame => AssertFrame.Attribute(frame, "attr", "hi", 1));
}
@ -965,7 +965,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -985,7 +985,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -1005,7 +1005,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -1025,7 +1025,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Component<TestComponent>(frame, 2, 0),
frame => AssertFrame.Attribute(frame, "attr", value, 1));
}
@ -1043,7 +1043,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Assert
Assert.Collection(
builder.GetFrames(),
builder.GetFrames().AsEnumerable(),
frame => AssertFrame.Element(frame, "elem", 1, 0));
}

View File

@ -486,7 +486,7 @@ namespace Microsoft.AspNetCore.Components.Test
Assert.NotEqual(0, removedEventHandlerFrame.AttributeEventHandlerId);
Assert.Equal(
new[] { removedEventHandlerFrame.AttributeEventHandlerId },
batch.DisposedEventHandlerIDs);
batch.DisposedEventHandlerIDs.AsEnumerable());
}
[Fact]
@ -1114,7 +1114,7 @@ namespace Microsoft.AspNetCore.Components.Test
var renderBatch = GetRenderedBatch();
// Assert
var diff = renderBatch.UpdatedComponents.Single();
var diff = renderBatch.UpdatedComponents.AsEnumerable().Single();
Assert.Collection(diff.Edits,
entry => AssertEdit(entry, RenderTreeEditType.StepIn, 1),
entry =>
@ -1145,7 +1145,7 @@ namespace Microsoft.AspNetCore.Components.Test
// Act
var renderBatch = GetRenderedBatch();
var componentInstance = newTree.GetFrames().First().Component as FakeComponent;
var componentInstance = newTree.GetFrames().AsEnumerable().First().Component as FakeComponent;
// Assert
Assert.Equal(1, renderBatch.UpdatedComponents.Count);
@ -1216,7 +1216,7 @@ namespace Microsoft.AspNetCore.Components.Test
AssertFrame.Attribute(newAttributeFrame, "ontest", retainedHandler);
Assert.NotEqual(0, oldAttributeFrame.AttributeEventHandlerId);
Assert.Equal(oldAttributeFrame.AttributeEventHandlerId, newAttributeFrame.AttributeEventHandlerId);
Assert.Empty(batch.DisposedEventHandlerIDs);
Assert.Empty(batch.DisposedEventHandlerIDs.AsEnumerable());
}
[Fact]
@ -1243,7 +1243,7 @@ namespace Microsoft.AspNetCore.Components.Test
AssertFrame.Attribute(newAttributeFrame, "ontest", retainedHandler);
Assert.NotEqual(0, oldAttributeFrame.AttributeEventHandlerId);
Assert.Equal(oldAttributeFrame.AttributeEventHandlerId, newAttributeFrame.AttributeEventHandlerId);
Assert.Empty(batch.DisposedEventHandlerIDs);
Assert.Empty(batch.DisposedEventHandlerIDs.AsEnumerable());
}
[Fact]
@ -1503,7 +1503,7 @@ namespace Microsoft.AspNetCore.Components.Test
var batch = GetRenderedBatch(initializeFromFrames);
var diffsInBatch = batch.UpdatedComponents;
Assert.Equal(1, diffsInBatch.Count);
return (diffsInBatch.Array[0], batch.ReferenceFrames.ToArray(), batch);
return (diffsInBatch.Array[0], batch.ReferenceFrames.AsEnumerable().ToArray(), batch);
}
private RenderBatch GetRenderedBatch(bool initializeFromFrames = false)

View File

@ -1,98 +1,17 @@
# Components
# Blazor
**Build modern, interactive web-based UIs with C# and Razor.**
This folder contains the underlying *components* programming model that powers both server-side [Razor Components](#razor-components) and client-side [Blazor](#blazor) applications.
This folder contains the underlying *components* programming model that powers both server-side and client-side [Blazor](#blazor) applications.
Features of the components programming model include:
Blazor is a component based web UI framework. Blazor apps can run client-side in browser on WebAssembly or server-side as part of an ASP.NET Core app. Blazor is a full single-page application (SPA) framework inspired by the latest JavaScript SPA frameworks, featuring support for offline/PWA applications, app size trimming, and browser-based debugging.
- [A powerful model for building composable UI](https://blazor.net/docs/components/index.html)
- [Routing](https://blazor.net/docs/routing.html)
- [Layouts](https://blazor.net/docs/layouts.html)
- Forms and validation
- [Dependency injection](https://blazor.net/docs/dependency-injection.html)
- [JavaScript interop](https://blazor.net/docs/javascript-interop.html)
- Live reloading in the browser during development
- Server-side rendering
- Full .NET debugging
- Rich IntelliSense and tooling
## Razor Components
Razor Components is a built-in feature of ASP.NET Core 3.0. It provides a convenient and powerful way to create sophisticated UIs that update in real-time, while keeping all your code in .NET running on the server.
## Blazor
Blazor is a project to run Razor Components truly client-side, in any browser, on WebAssembly. It's a full single-page application (SPA) framework inspired by the latest JavaScript SPA frameworks, featuring support for offline/PWA applications, app size trimming, and browser-based debugging.
Blazor uses only the latest web standards. No plugins or transpilation needed. It runs in the browser on a real .NET runtime ([Mono](http://www.mono-project.com/news/2017/08/09/hello-webassembly/)) implemented in [WebAssembly](http://webassembly.org) that executes normal .NET assemblies.
Blazor uses only the latest web standards. No plugins or transpilation needed. It runs in the browser on a real .NET runtime implemented in [WebAssembly](http://webassembly.org) that executes normal .NET assemblies.
[![Gitter](https://badges.gitter.im/aspnet/Blazor.svg)](https://gitter.im/aspnet/Blazor?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
> Note: client-side Blazor is an *experimental* project. It's not yet a committed product . This is to allow time to fully investigate the technical issues associated with running .NET in the browser and to ensure we can build something that developers love and can be productive with. During this experimental phase, we expect to engage deeply with early Blazor adopters like you to hear your feedback and suggestions.
To see Blazor in action, check out [Steve Sanderson's demo at NDC London](https://www.youtube.com/watch?v=Qe8UW5543-s). You can also try out a [simple live Blazor app](https://blazor-demo.github.io/).
You can learn more about Blazor at https://blazor.net.
## Getting Started
To get started and build your first web app check out our [getting started guide](https://go.microsoft.com/fwlink/?linkid=870449).
## Building from source
See [these instructions](/docs/BuildFromSource.md) for more details on how to build this project on your own.
## Developing the Blazor VS Tooling
To do local development of the Blazor tooling experience in VS, select the `Microsoft.VisualStudio.BlazorExtension`
project and launch the debugger.
The Blazor Visual Studio tooling will build as part of the command line build when on Windows.
## Using CI Builds of Blazor
To use a nightly or developer CI build of the Blazor package, ensure that you have the Blazor package feed configured, and update your package version numbers. You should use developer builds only with the expectation that things will break and change without any sort of announcement.
Update your projects to include the Blazor development feed (`https://dotnet.myget.org/f/blazor-dev/api/v3/index.json`). You can do this in a project file with MSBuild:
```xml
<RestoreAdditionalProjectSources>
https://dotnet.myget.org/f/blazor-dev/api/v3/index.json;
</RestoreAdditionalProjectSources>
```
Or in a NuGet.config in the same directory as the solution file:
```xml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="blazor" value="https://dotnet.myget.org/f/blazor-dev/api/v3/index.json" />
<add key="nuget" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
```
You can browse https://dotnet.myget.org/gallery/blazor-dev to find the current versions of packages. We recommend picking a specific version of the packages and using it across your projects.
```xml
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Blazor" Version="0.3.0-preview1-10220" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="0.3.0-preview1-10220" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="0.3.0-preview1-10220" />
</ItemGroup>
```
To install a developer CI build of the Blazor Language Service extension for Visual Studio, add https://dotnet.myget.org/F/blazor-dev/vsix/ as an additional extension gallery by going to Tools -> Options -> Environment -> Extensions and Updates:
![image](https://user-images.githubusercontent.com/1874516/39077607-2729edb2-44b8-11e8-8798-701ba632fdd4.png)
You should then be able to install or update the Blazor Language Service extension from the developer CI feed using the Extensions and Updates dialog.
## Contributing
There are lots of ways that you can contribute to Blazor! Read our [contributing guide](https://github.com/aspnet/Blazor/blob/master/CONTRIBUTING.md) to learn about our development process and how to propose bug fixes and improvements.
## Still got questions?
Check out our [FAQ](https://github.com/aspnet/Blazor/wiki/FAQ) or open an [issue](https://github.com/aspnet/Blazor/issues).
To get started with Blazor and build your first web app check out our [getting started guide](https://go.microsoft.com/fwlink/?linkid=870449).

View File

@ -5,15 +5,14 @@ namespace Microsoft.AspNetCore.Builder
{
public static partial class ComponentEndpointConventionBuilderExtensions
{
public static Microsoft.AspNetCore.Builder.IEndpointConventionBuilder AddComponent(this Microsoft.AspNetCore.Builder.IEndpointConventionBuilder builder, System.Type componentType, string selector) { throw null; }
public static Microsoft.AspNetCore.Builder.IEndpointConventionBuilder AddComponent<TComponent>(this Microsoft.AspNetCore.Builder.IEndpointConventionBuilder builder, string selector) { throw null; }
public static TBuilder AddComponent<TBuilder>(this TBuilder builder, System.Type componentType, string selector) where TBuilder : Microsoft.AspNetCore.SignalR.IHubEndpointConventionBuilder { throw null; }
}
public static partial class ComponentEndpointRouteBuilderExtensions
{
public static Microsoft.AspNetCore.Builder.IEndpointConventionBuilder MapBlazorHub(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints) { throw null; }
public static Microsoft.AspNetCore.Builder.IEndpointConventionBuilder MapBlazorHub(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints, System.Type componentType, string selector, string path) { throw null; }
public static Microsoft.AspNetCore.Builder.IEndpointConventionBuilder MapBlazorHub<TComponent>(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints, string selector) where TComponent : Microsoft.AspNetCore.Components.IComponent { throw null; }
public static Microsoft.AspNetCore.Builder.IEndpointConventionBuilder MapBlazorHub<TComponent>(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints, string selector, string path) where TComponent : Microsoft.AspNetCore.Components.IComponent { throw null; }
public static Microsoft.AspNetCore.Components.Server.ComponentEndpointConventionBuilder MapBlazorHub(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints) { throw null; }
public static Microsoft.AspNetCore.Components.Server.ComponentEndpointConventionBuilder MapBlazorHub(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints, System.Type componentType, string selector, string path) { throw null; }
public static Microsoft.AspNetCore.Components.Server.ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints, string selector) where TComponent : Microsoft.AspNetCore.Components.IComponent { throw null; }
public static Microsoft.AspNetCore.Components.Server.ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints, string selector, string path) where TComponent : Microsoft.AspNetCore.Components.IComponent { throw null; }
}
}
namespace Microsoft.AspNetCore.Components.Browser.Rendering
@ -31,6 +30,11 @@ namespace Microsoft.AspNetCore.Components.Server
public System.TimeSpan DisconnectedCircuitRetentionPeriod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
public int MaxRetainedDisconnectedCircuits { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
}
public sealed partial class ComponentEndpointConventionBuilder : Microsoft.AspNetCore.Builder.IEndpointConventionBuilder, Microsoft.AspNetCore.SignalR.IHubEndpointConventionBuilder
{
internal ComponentEndpointConventionBuilder() { }
public void Add(System.Action<Microsoft.AspNetCore.Builder.EndpointBuilder> convention) { }
}
public sealed partial class ComponentHub : Microsoft.AspNetCore.SignalR.Hub
{
public ComponentHub(System.IServiceProvider services, Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.Components.Server.ComponentHub> logger) { }

View File

@ -1,9 +0,0 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace MessagePack.Formatters
{
internal class NativeDateTimeFormatter
{
}
}

View File

@ -0,0 +1,35 @@
// Copyright (c) Andrew Arnott. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
using System;
using System.Buffers;
namespace Nerdbank.Streams
{
internal static class Requires
{
internal static void NotNull(object arg, string paramName)
{
if (arg == null)
{
throw new ArgumentNullException(nameof(paramName));
}
}
internal static void Argument(bool condition, string paramName, string message)
{
if (condition)
{
throw new ArgumentException(message, paramName);
}
}
internal static void Range(bool condition, string paramName)
{
if (condition)
{
throw new ArgumentOutOfRangeException(paramName);
}
}
}
}

View File

@ -0,0 +1,451 @@
// Copyright (c) Andrew Arnott. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
namespace Nerdbank.Streams
{
using System;
using System.Buffers;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Microsoft;
/// <summary>
/// Manages a sequence of elements, readily castable as a <see cref="ReadOnlySequence{T}"/>.
/// </summary>
/// <typeparam name="T">The type of element stored by the sequence.</typeparam>
/// <remarks>
/// Instance members are not thread-safe.
/// </remarks>
[DebuggerDisplay("{" + nameof(DebuggerDisplay) + ",nq}")]
internal class Sequence<T> : IBufferWriter<T>, IDisposable
{
private static readonly int DefaultLengthFromArrayPool = 1 + (4095 / Marshal.SizeOf<T>());
private readonly Stack<SequenceSegment> segmentPool = new Stack<SequenceSegment>();
private readonly MemoryPool<T> memoryPool;
private readonly ArrayPool<T> arrayPool;
private SequenceSegment first;
private SequenceSegment last;
/// <summary>
/// Initializes a new instance of the <see cref="Sequence{T}"/> class
/// that uses a private <see cref="ArrayPool{T}"/> for recycling arrays.
/// </summary>
public Sequence()
: this(ArrayPool<T>.Create())
{
}
/// <summary>
/// Initializes a new instance of the <see cref="Sequence{T}"/> class.
/// </summary>
/// <param name="memoryPool">The pool to use for recycling backing arrays.</param>
public Sequence(MemoryPool<T> memoryPool)
{
Requires.NotNull(memoryPool, nameof(memoryPool));
this.memoryPool = memoryPool;
}
/// <summary>
/// Initializes a new instance of the <see cref="Sequence{T}"/> class.
/// </summary>
/// <param name="arrayPool">The pool to use for recycling backing arrays.</param>
public Sequence(ArrayPool<T> arrayPool)
{
Requires.NotNull(arrayPool, nameof(arrayPool));
this.arrayPool = arrayPool;
}
/// <summary>
/// Gets or sets the minimum length for any array allocated as a segment in the sequence.
/// Any non-positive value allows the pool to determine the length of the array.
/// </summary>
/// <value>The default value is 0.</value>
/// <remarks>
/// <para>
/// Each time <see cref="GetSpan(int)"/> or <see cref="GetMemory(int)"/> is called,
/// previously allocated memory is used if it is large enough to satisfy the length demand.
/// If new memory must be allocated, the argument to one of these methods typically dictate
/// the length of array to allocate. When the caller uses very small values (just enough for its immediate need)
/// but the high level scenario can predict that a large amount of memory will be ultimately required,
/// it can be advisable to set this property to a value such that just a few larger arrays are allocated
/// instead of many small ones.
/// </para>
/// <para>
/// The <see cref="MemoryPool{T}"/> in use may itself have a minimum array length as well,
/// in which case the higher of the two minimums dictate the minimum array size that will be allocated.
/// </para>
/// </remarks>
public int MinimumSpanLength { get; set; } = 0;
/// <summary>
/// Gets this sequence expressed as a <see cref="ReadOnlySequence{T}"/>.
/// </summary>
/// <returns>A read only sequence representing the data in this object.</returns>
public ReadOnlySequence<T> AsReadOnlySequence => this;
/// <summary>
/// Gets the length of the sequence.
/// </summary>
public long Length => this.AsReadOnlySequence.Length;
/// <summary>
/// Gets the value to display in a debugger datatip.
/// </summary>
private string DebuggerDisplay => $"Length: {AsReadOnlySequence.Length}";
/// <summary>
/// Expresses this sequence as a <see cref="ReadOnlySequence{T}"/>.
/// </summary>
/// <param name="sequence">The sequence to convert.</param>
public static implicit operator ReadOnlySequence<T>(Sequence<T> sequence)
{
return sequence.first != null
? new ReadOnlySequence<T>(sequence.first, sequence.first.Start, sequence.last, sequence.last.End)
: ReadOnlySequence<T>.Empty;
}
/// <summary>
/// Removes all elements from the sequence from its beginning to the specified position,
/// considering that data to have been fully processed.
/// </summary>
/// <param name="position">
/// The position of the first element that has not yet been processed.
/// This is typically <see cref="ReadOnlySequence{T}.End"/> after reading all elements from that instance.
/// </param>
public void AdvanceTo(SequencePosition position)
{
var firstSegment = (SequenceSegment)position.GetObject();
int firstIndex = position.GetInteger();
// Before making any mutations, confirm that the block specified belongs to this sequence.
var current = this.first;
while (current != firstSegment && current != null)
{
current = current.Next;
}
Requires.Argument(current != null, nameof(position), "Position does not represent a valid position in this sequence.");
// Also confirm that the position is not a prior position in the block.
Requires.Argument(firstIndex >= current.Start, nameof(position), "Position must not be earlier than current position.");
// Now repeat the loop, performing the mutations.
current = this.first;
while (current != firstSegment)
{
current = this.RecycleAndGetNext(current);
}
firstSegment.AdvanceTo(firstIndex);
if (firstSegment.Length == 0)
{
firstSegment = this.RecycleAndGetNext(firstSegment);
}
this.first = firstSegment;
if (this.first == null)
{
this.last = null;
}
}
/// <summary>
/// Advances the sequence to include the specified number of elements initialized into memory
/// returned by a prior call to <see cref="GetMemory(int)"/>.
/// </summary>
/// <param name="count">The number of elements written into memory.</param>
public void Advance(int count)
{
SequenceSegment last = this.last;
Debug.Assert(last != null, "Cannot advance before acquiring memory.");
last.Advance(count);
}
/// <summary>
/// Gets writable memory that can be initialized and added to the sequence via a subsequent call to <see cref="Advance(int)"/>.
/// </summary>
/// <param name="sizeHint">The size of the memory required, or 0 to just get a convenient (non-empty) buffer.</param>
/// <returns>The requested memory.</returns>
public Memory<T> GetMemory(int sizeHint) => this.GetSegment(sizeHint).RemainingMemory;
/// <summary>
/// Gets writable memory that can be initialized and added to the sequence via a subsequent call to <see cref="Advance(int)"/>.
/// </summary>
/// <param name="sizeHint">The size of the memory required, or 0 to just get a convenient (non-empty) buffer.</param>
/// <returns>The requested memory.</returns>
public Span<T> GetSpan(int sizeHint) => this.GetSegment(sizeHint).RemainingSpan;
/// <summary>
/// Clears the entire sequence, recycles associated memory into pools,
/// and resets this instance for reuse.
/// This invalidates any <see cref="ReadOnlySequence{T}"/> previously produced by this instance.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public void Dispose() => this.Reset();
/// <summary>
/// Clears the entire sequence and recycles associated memory into pools.
/// This invalidates any <see cref="ReadOnlySequence{T}"/> previously produced by this instance.
/// </summary>
public void Reset()
{
var current = this.first;
while (current != null)
{
current = this.RecycleAndGetNext(current);
}
this.first = this.last = null;
}
private SequenceSegment GetSegment(int sizeHint)
{
Requires.Range(sizeHint >= 0, nameof(sizeHint));
int? minBufferSize = null;
if (sizeHint == 0)
{
if (this.last == null || this.last.WritableBytes == 0)
{
// We're going to need more memory. Take whatever size the pool wants to give us.
minBufferSize = -1;
}
}
else
{
sizeHint = Math.Max(this.MinimumSpanLength, sizeHint);
if (this.last == null || this.last.WritableBytes < sizeHint)
{
minBufferSize = sizeHint;
}
}
if (minBufferSize.HasValue)
{
var segment = this.segmentPool.Count > 0 ? this.segmentPool.Pop() : new SequenceSegment();
if (this.arrayPool != null)
{
segment.Assign(this.arrayPool.Rent(minBufferSize.Value == -1 ? DefaultLengthFromArrayPool : minBufferSize.Value));
}
else
{
segment.Assign(this.memoryPool.Rent(minBufferSize.Value));
}
this.Append(segment);
}
return this.last;
}
private void Append(SequenceSegment segment)
{
if (this.last == null)
{
this.first = this.last = segment;
}
else
{
if (this.last.Length > 0)
{
// Add a new block.
this.last.SetNext(segment);
}
else
{
// The last block is completely unused. Replace it instead of appending to it.
var current = this.first;
if (this.first != this.last)
{
while (current.Next != this.last)
{
current = current.Next;
}
}
else
{
this.first = segment;
}
current.SetNext(segment);
this.RecycleAndGetNext(this.last);
}
this.last = segment;
}
}
private SequenceSegment RecycleAndGetNext(SequenceSegment segment)
{
var recycledSegment = segment;
segment = segment.Next;
recycledSegment.ResetMemory(this.arrayPool);
this.segmentPool.Push(recycledSegment);
return segment;
}
private class SequenceSegment : ReadOnlySequenceSegment<T>
{
/// <summary>
/// A value indicating whether the element is a value type.
/// </summary>
private static readonly bool IsValueTypeElement = typeof(T).GetTypeInfo().IsValueType;
/// <summary>
/// Gets the backing array, when using an <see cref="ArrayPool{T}"/> instead of a <see cref="MemoryPool{T}"/>.
/// </summary>
private T[] array;
/// <summary>
/// Gets the position within <see cref="ReadOnlySequenceSegment{T}.Memory"/> where the data starts.
/// </summary>
/// <remarks>This may be nonzero as a result of calling <see cref="Sequence{T}.AdvanceTo(SequencePosition)"/>.</remarks>
internal int Start { get; private set; }
/// <summary>
/// Gets the position within <see cref="ReadOnlySequenceSegment{T}.Memory"/> where the data ends.
/// </summary>
internal int End { get; private set; }
/// <summary>
/// Gets the tail of memory that has not yet been committed.
/// </summary>
internal Memory<T> RemainingMemory => this.AvailableMemory.Slice(this.End);
/// <summary>
/// Gets the tail of memory that has not yet been committed.
/// </summary>
internal Span<T> RemainingSpan => this.AvailableMemory.Span.Slice(this.End);
/// <summary>
/// Gets the tracker for the underlying array for this segment, which can be used to recycle the array when we're disposed of.
/// Will be <c>null</c> if using an array pool, in which case the memory is held by <see cref="array"/>.
/// </summary>
internal IMemoryOwner<T> MemoryOwner { get; private set; }
/// <summary>
/// Gets the full memory owned by the <see cref="MemoryOwner"/>.
/// </summary>
internal Memory<T> AvailableMemory => this.array ?? this.MemoryOwner?.Memory ?? default;
/// <summary>
/// Gets the number of elements that are committed in this segment.
/// </summary>
internal int Length => this.End - this.Start;
/// <summary>
/// Gets the amount of writable bytes in this segment.
/// It is the amount of bytes between <see cref="Length"/> and <see cref="End"/>.
/// </summary>
internal int WritableBytes => this.AvailableMemory.Length - this.End;
/// <summary>
/// Gets or sets the next segment in the singly linked list of segments.
/// </summary>
internal new SequenceSegment Next
{
get => (SequenceSegment)base.Next;
set => base.Next = value;
}
/// <summary>
/// Assigns this (recyclable) segment a new area in memory.
/// </summary>
/// <param name="memoryOwner">The memory and a means to recycle it.</param>
internal void Assign(IMemoryOwner<T> memoryOwner)
{
this.MemoryOwner = memoryOwner;
this.Memory = memoryOwner.Memory;
}
/// <summary>
/// Assigns this (recyclable) segment a new area in memory.
/// </summary>
/// <param name="array">An array drawn from an <see cref="ArrayPool{T}"/>.</param>
internal void Assign(T[] array)
{
this.array = array;
this.Memory = array;
}
/// <summary>
/// Clears all fields in preparation to recycle this instance.
/// </summary>
internal void ResetMemory(ArrayPool<T> arrayPool)
{
this.ClearReferences(this.Start, this.End);
this.Memory = default;
this.Next = null;
this.RunningIndex = 0;
this.Start = 0;
this.End = 0;
if (this.array != null)
{
arrayPool.Return(this.array);
this.array = null;
}
else
{
this.MemoryOwner?.Dispose();
this.MemoryOwner = null;
}
}
/// <summary>
/// Adds a new segment after this one.
/// </summary>
/// <param name="segment">The next segment in the linked list.</param>
internal void SetNext(SequenceSegment segment)
{
Debug.Assert(segment != null, "Null not allowed.");
this.Next = segment;
segment.RunningIndex = this.RunningIndex + this.Start + this.Length;
// When setting Memory, we start with index 0 instead of this.Start because
// the first segment has an explicit index set anyway,
// and we don't want to double-count it here.
this.Memory = this.AvailableMemory.Slice(0, this.Start + this.Length);
}
/// <summary>
/// Commits more elements as written in this segment.
/// </summary>
/// <param name="count">The number of elements written.</param>
internal void Advance(int count)
{
Requires.Range(count >= 0 && this.End + count <= this.Memory.Length, nameof(count));
this.End += count;
}
/// <summary>
/// Removes some elements from the start of this segment.
/// </summary>
/// <param name="offset">The number of elements to ignore from the start of the underlying array.</param>
internal void AdvanceTo(int offset)
{
Debug.Assert(offset >= this.Start, "Trying to rewind.");
this.ClearReferences(this.Start, offset - this.Start);
this.Start = offset;
}
private void ClearReferences(int startIndex, int length)
{
// If we store references, clear them to allow the objects to be GC'd.
if (!IsValueTypeElement)
{
this.AvailableMemory.Span.Slice(startIndex, length).Fill(default);
}
}
}
}
}

View File

@ -0,0 +1,31 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.SignalR;
namespace Microsoft.AspNetCore.Components.Server
{
/// <summary>
/// Builds conventions that will be used for customization of ComponentHub <see cref="EndpointBuilder"/> instances.
/// </summary>
public sealed class ComponentEndpointConventionBuilder : IHubEndpointConventionBuilder
{
private readonly IEndpointConventionBuilder _endpointConventionBuilder;
internal ComponentEndpointConventionBuilder(IEndpointConventionBuilder endpointConventionBuilder)
{
_endpointConventionBuilder = endpointConventionBuilder;
}
/// <summary>
/// Adds the specified convention to the builder. Conventions are used to customize <see cref="EndpointBuilder"/> instances.
/// </summary>
/// <param name="convention">The convention to add to the builder.</param>
public void Add(Action<EndpointBuilder> convention)
{
_endpointConventionBuilder.Add(convention);
}
}
}

View File

@ -4,45 +4,24 @@
using System;
using System.Collections.Generic;
using Microsoft.AspNetCore.Components.Server;
using Microsoft.AspNetCore.SignalR;
namespace Microsoft.AspNetCore.Builder
{
/// <summary>
/// Extensions for <see cref="IEndpointConventionBuilder"/>.
/// Extensions for <see cref="HubEndpointConventionBuilder"/>.
/// </summary>
public static class ComponentEndpointConventionBuilderExtensions
{
/// <summary>
/// Adds <typeparamref name="TComponent"/> to the list of components registered with this <see cref="ComponentHub"/> instance.
/// </summary>
/// <typeparam name="TComponent">The component type.</typeparam>
/// <param name="builder">The <see cref="IEndpointConventionBuilder"/>.</param>
/// <param name="selector">A CSS selector that identifies the DOM element into which the <typeparamref name="TComponent"/> will be placed.</param>
/// <returns>The <paramref name="builder"/>.</returns>
public static IEndpointConventionBuilder AddComponent<TComponent>(this IEndpointConventionBuilder builder, string selector)
{
if (builder == null)
{
throw new ArgumentNullException(nameof(builder));
}
if (selector == null)
{
throw new ArgumentNullException(nameof(selector));
}
return AddComponent(builder, typeof(TComponent), selector);
}
/// <summary>
/// Adds <paramref name="componentType"/> to the list of components registered with this <see cref="ComponentHub"/> instance.
/// The selector will default to the component name in lowercase.
/// </summary>
/// <param name="builder">The <see cref="IEndpointConventionBuilder"/>.</param>
/// <param name="builder">The <see cref="IHubEndpointConventionBuilder"/>.</param>
/// <param name="componentType">The component type.</param>
/// <param name="selector">The component selector in the DOM for the <paramref name="componentType"/>.</param>
/// <returns>The <paramref name="builder"/>.</returns>
public static IEndpointConventionBuilder AddComponent(this IEndpointConventionBuilder builder, Type componentType, string selector)
public static TBuilder AddComponent<TBuilder>(this TBuilder builder, Type componentType, string selector) where TBuilder : IHubEndpointConventionBuilder
{
if (builder == null)
{

View File

@ -5,6 +5,7 @@ using System;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Server;
using Microsoft.AspNetCore.Routing;
using Microsoft.AspNetCore.SignalR;
namespace Microsoft.AspNetCore.Builder
{
@ -17,15 +18,15 @@ namespace Microsoft.AspNetCore.Builder
/// Maps the SignalR <see cref="ComponentHub"/> to the path <see cref="ComponentHub.DefaultPath"/>.
/// </summary>
/// <param name="endpoints">The <see cref="IEndpointRouteBuilder"/>.</param>
/// <returns>The <see cref="IEndpointConventionBuilder"/>.</returns>
public static IEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints)
/// <returns>The <see cref="ComponentEndpointConventionBuilder"/>.</returns>
public static ComponentEndpointConventionBuilder MapBlazorHub(this IEndpointRouteBuilder endpoints)
{
if (endpoints == null)
{
throw new ArgumentNullException(nameof(endpoints));
}
return endpoints.MapHub<ComponentHub>(ComponentHub.DefaultPath);
return new ComponentEndpointConventionBuilder(endpoints.MapHub<ComponentHub>(ComponentHub.DefaultPath));
}
/// <summary>
@ -35,8 +36,8 @@ namespace Microsoft.AspNetCore.Builder
/// <typeparam name="TComponent">The first <see cref="IComponent"/> associated with this <see cref="ComponentHub"/>.</typeparam>
/// <param name="endpoints">The <see cref="IEndpointRouteBuilder"/>.</param>
/// <param name="selector">The selector for the <typeparamref name="TComponent"/>.</param>
/// <returns>The <see cref="IEndpointConventionBuilder"/>.</returns>
public static IEndpointConventionBuilder MapBlazorHub<TComponent>(
/// <returns>The <see cref="ComponentEndpointConventionBuilder"/>.</returns>
public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(
this IEndpointRouteBuilder endpoints,
string selector) where TComponent: IComponent
{
@ -61,8 +62,8 @@ namespace Microsoft.AspNetCore.Builder
/// <param name="endpoints">The <see cref="IEndpointRouteBuilder"/>.</param>
/// <param name="selector">The selector for the <typeparamref name="TComponent"/>.</param>
/// <param name="path">The path to map to which the <see cref="ComponentHub"/> will be mapped.</param>
/// <returns>The <see cref="IEndpointConventionBuilder"/>.</returns>
public static IEndpointConventionBuilder MapBlazorHub<TComponent>(
/// <returns>The <see cref="ComponentEndpointConventionBuilder"/>.</returns>
public static ComponentEndpointConventionBuilder MapBlazorHub<TComponent>(
this IEndpointRouteBuilder endpoints,
string selector,
string path) where TComponent : IComponent
@ -93,8 +94,8 @@ namespace Microsoft.AspNetCore.Builder
/// <param name="componentType">The first <see cref="IComponent"/> associated with this <see cref="ComponentHub"/>.</param>
/// <param name="selector">The selector for the <paramref name="componentType"/>.</param>
/// <param name="path">The path to map to which the <see cref="ComponentHub"/> will be mapped.</param>
/// <returns>The <see cref="IEndpointConventionBuilder"/>.</returns>
public static IEndpointConventionBuilder MapBlazorHub(
/// <returns>The <see cref="ComponentEndpointConventionBuilder"/>.</returns>
public static ComponentEndpointConventionBuilder MapBlazorHub(
this IEndpointRouteBuilder endpoints,
Type componentType,
string selector,
@ -120,7 +121,7 @@ namespace Microsoft.AspNetCore.Builder
throw new ArgumentNullException(nameof(selector));
}
return endpoints.MapHub<ComponentHub>(path).AddComponent(componentType, selector);
return new ComponentEndpointConventionBuilder(endpoints.MapHub<ComponentHub>(path)).AddComponent(componentType, selector);
}
}
}

View File

@ -7,6 +7,8 @@
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS0436;$(NoWarn)</NoWarn>
<DefineConstants>$(DefineConstants);MESSAGEPACK_INTERNAL</DefineConstants>
</PropertyGroup>
<ItemGroup>
@ -42,6 +44,7 @@
<Compile Include="$(MessagePackRoot)FloatBits.cs" LinkBase="BlazorPack\MessagePack" />
<Compile Include="$(MessagePackRoot)Internal\DateTimeConstants.cs" LinkBase="BlazorPack\MessagePack" />
<Compile Include="$(MessagePackRoot)StringEncoding.cs" LinkBase="BlazorPack\MessagePack" />
<Compile Include="$(MessagePackRoot)SequencePool.cs" LinkBase="BlazorPack\MessagePack" />
<Compile Include="$(MessagePackRoot)SequenceReader.cs" LinkBase="BlazorPack\MessagePack" />
<Compile Include="$(MessagePackRoot)SequenceReaderExtensions.cs" LinkBase="BlazorPack\MessagePack" />
</ItemGroup>

View File

@ -0,0 +1,20 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Collections.Generic;
using Microsoft.AspNetCore.Components.RenderTree;
namespace Microsoft.AspNetCore.Components
{
internal static class ArrayRangeExtensions
{
public static IEnumerable<T> AsEnumerable<T>(this ArrayRange<T> source)
{
// This is very allocatey, hence it only existing in test code.
// If we need a way to enumerate ArrayRange in product code, we should
// consider adding an AsSpan() method or a struct enumerator.
return new ArraySegment<T>(source.Array, 0, source.Count);
}
}
}

View File

@ -97,8 +97,8 @@ namespace Microsoft.AspNetCore.Components.Test.Helpers
}
// Clone other data, as underlying storage will get reused by later batches
capturedBatch.ReferenceFrames = renderBatch.ReferenceFrames.ToArray();
capturedBatch.DisposedComponentIDs = renderBatch.DisposedComponentIDs.ToList();
capturedBatch.ReferenceFrames = renderBatch.ReferenceFrames.AsEnumerable().ToArray();
capturedBatch.DisposedComponentIDs = renderBatch.DisposedComponentIDs.AsEnumerable().ToList();
// This renderer updates the UI synchronously, like the WebAssembly one.
// To test async UI updates, subclass TestRenderer and override UpdateDisplayAsync.

View File

@ -65,7 +65,7 @@ namespace TestServer
subdirApp.UseEndpoints(endpoints =>
{
endpoints.MapHub<ComponentHub>(ComponentHub.DefaultPath).AddComponent<Index>(selector: "root");
endpoints.MapHub<ComponentHub>(ComponentHub.DefaultPath).AddComponent(typeof(Index), selector: "root");
});
subdirApp.MapWhen(

View File

@ -1,231 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.DataProtection.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "CreateProtector",
"Parameters": [
{
"Name": "provider",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider"
},
{
"Name": "purposes",
"Type": "System.Collections.Generic.IEnumerable<System.String>"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtector",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "CreateProtector",
"Parameters": [
{
"Name": "provider",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider"
},
{
"Name": "purpose",
"Type": "System.String"
},
{
"Name": "subPurposes",
"Type": "System.String[]",
"IsParams": true
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtector",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetDataProtectionProvider",
"Parameters": [
{
"Name": "services",
"Type": "System.IServiceProvider"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetDataProtector",
"Parameters": [
{
"Name": "services",
"Type": "System.IServiceProvider"
},
{
"Name": "purposes",
"Type": "System.Collections.Generic.IEnumerable<System.String>"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtector",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetDataProtector",
"Parameters": [
{
"Name": "services",
"Type": "System.IServiceProvider"
},
{
"Name": "purpose",
"Type": "System.String"
},
{
"Name": "subPurposes",
"Type": "System.String[]",
"IsParams": true
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtector",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Protect",
"Parameters": [
{
"Name": "protector",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtector"
},
{
"Name": "plaintext",
"Type": "System.String"
}
],
"ReturnType": "System.String",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Unprotect",
"Parameters": [
{
"Name": "protector",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtector"
},
{
"Name": "protectedData",
"Type": "System.String"
}
],
"ReturnType": "System.String",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "CreateProtector",
"Parameters": [
{
"Name": "purpose",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtector",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.DataProtection.IDataProtector",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [
"Microsoft.AspNetCore.DataProtection.IDataProtectionProvider"
],
"Members": [
{
"Kind": "Method",
"Name": "Protect",
"Parameters": [
{
"Name": "plaintext",
"Type": "System.Byte[]"
}
],
"ReturnType": "System.Byte[]",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Unprotect",
"Parameters": [
{
"Name": "protectedData",
"Type": "System.Byte[]"
}
],
"ReturnType": "System.Byte[]",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.DataProtection.Infrastructure.IApplicationDiscriminator",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_Discriminator",
"Parameters": [],
"ReturnType": "System.String",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -5,7 +5,6 @@
<TargetFramework>netcoreapp3.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;dataprotection;azure;keyvault</PackageTags>
<EnableApiCheck>false</EnableApiCheck>
<IsShippingPackage>true</IsShippingPackage>
</PropertyGroup>

View File

@ -1,156 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.DataProtection.AzureStorage, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.DataProtection.AzureDataProtectionBuilderExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "PersistKeysToAzureBlobStorage",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder"
},
{
"Name": "storageAccount",
"Type": "Microsoft.WindowsAzure.Storage.CloudStorageAccount"
},
{
"Name": "relativePath",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "PersistKeysToAzureBlobStorage",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder"
},
{
"Name": "blobUri",
"Type": "System.Uri"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "PersistKeysToAzureBlobStorage",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder"
},
{
"Name": "blobReference",
"Type": "Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "PersistKeysToAzureBlobStorage",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder"
},
{
"Name": "container",
"Type": "Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer"
},
{
"Name": "blobName",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.DataProtection.AzureStorage.AzureBlobXmlRepository",
"Visibility": "Public",
"Kind": "Class",
"Sealed": true,
"ImplementedInterfaces": [
"Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository"
],
"Members": [
{
"Kind": "Method",
"Name": "GetAllElements",
"Parameters": [],
"ReturnType": "System.Collections.Generic.IReadOnlyCollection<System.Xml.Linq.XElement>",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "StoreElement",
"Parameters": [
{
"Name": "element",
"Type": "System.Xml.Linq.XElement"
},
{
"Name": "friendlyName",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "blobRefFactory",
"Type": "System.Func<Microsoft.WindowsAzure.Storage.Blob.ICloudBlob>"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,4 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Cryptography.Internal, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": []
}

View File

@ -1,78 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Cryptography.KeyDerivation, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivation",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "Pbkdf2",
"Parameters": [
{
"Name": "password",
"Type": "System.String"
},
{
"Name": "salt",
"Type": "System.Byte[]"
},
{
"Name": "prf",
"Type": "Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf"
},
{
"Name": "iterationCount",
"Type": "System.Int32"
},
{
"Name": "numBytesRequested",
"Type": "System.Int32"
}
],
"ReturnType": "System.Byte[]",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf",
"Visibility": "Public",
"Kind": "Enumeration",
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Field",
"Name": "HMACSHA1",
"Parameters": [],
"GenericParameter": [],
"Literal": "0"
},
{
"Kind": "Field",
"Name": "HMACSHA256",
"Parameters": [],
"GenericParameter": [],
"Literal": "1"
},
{
"Kind": "Field",
"Name": "HMACSHA512",
"Parameters": [],
"GenericParameter": [],
"Literal": "2"
}
],
"GenericParameters": []
}
]
}

View File

@ -92,10 +92,10 @@ namespace Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption
public enum EncryptionAlgorithm
{
AES_128_CBC = 0,
AES_128_GCM = 3,
AES_192_CBC = 1,
AES_192_GCM = 4,
AES_256_CBC = 2,
AES_128_GCM = 3,
AES_192_GCM = 4,
AES_256_GCM = 5,
}
public partial interface IAuthenticatedEncryptor
@ -369,9 +369,9 @@ namespace Microsoft.AspNetCore.DataProtection.XmlEncryption
[System.FlagsAttribute]
public enum DpapiNGProtectionDescriptorFlags
{
MachineKey = 32,
NamedDescriptor = 1,
None = 0,
NamedDescriptor = 1,
MachineKey = 32,
}
public sealed partial class DpapiNGXmlDecryptor : Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlDecryptor
{

File diff suppressed because it is too large Load Diff

View File

@ -1,203 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.DataProtection.EntityFrameworkCoreDataProtectionExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "PersistKeysToDbContext<T0>",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": [
{
"ParameterName": "TContext",
"ParameterPosition": 0,
"BaseTypeOrInterfaces": [
"Microsoft.EntityFrameworkCore.DbContext",
"Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.IDataProtectionKeyContext"
]
}
]
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_Id",
"Parameters": [],
"ReturnType": "System.Int32",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_Id",
"Parameters": [
{
"Name": "value",
"Type": "System.Int32"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_FriendlyName",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_FriendlyName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Xml",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_Xml",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.EntityFrameworkCoreXmlRepository<T0>",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository"
],
"Members": [
{
"Kind": "Method",
"Name": "GetAllElements",
"Parameters": [],
"ReturnType": "System.Collections.Generic.IReadOnlyCollection<System.Xml.Linq.XElement>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "StoreElement",
"Parameters": [
{
"Name": "element",
"Type": "System.Xml.Linq.XElement"
},
{
"Name": "friendlyName",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "services",
"Type": "System.IServiceProvider"
},
{
"Name": "loggerFactory",
"Type": "Microsoft.Extensions.Logging.ILoggerFactory"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": [
{
"ParameterName": "TContext",
"ParameterPosition": 0,
"BaseTypeOrInterfaces": [
"Microsoft.EntityFrameworkCore.DbContext",
"Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.IDataProtectionKeyContext"
]
}
]
},
{
"Name": "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.IDataProtectionKeyContext",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_DataProtectionKeys",
"Parameters": [],
"ReturnType": "Microsoft.EntityFrameworkCore.DbSet<Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey>",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,298 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.DataProtection.Extensions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.DataProtection.DataProtectionAdvancedExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "Protect",
"Parameters": [
{
"Name": "protector",
"Type": "Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector"
},
{
"Name": "plaintext",
"Type": "System.Byte[]"
},
{
"Name": "lifetime",
"Type": "System.TimeSpan"
}
],
"ReturnType": "System.Byte[]",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Protect",
"Parameters": [
{
"Name": "protector",
"Type": "Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector"
},
{
"Name": "plaintext",
"Type": "System.String"
},
{
"Name": "expiration",
"Type": "System.DateTimeOffset"
}
],
"ReturnType": "System.String",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Protect",
"Parameters": [
{
"Name": "protector",
"Type": "Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector"
},
{
"Name": "plaintext",
"Type": "System.String"
},
{
"Name": "lifetime",
"Type": "System.TimeSpan"
}
],
"ReturnType": "System.String",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ToTimeLimitedDataProtector",
"Parameters": [
{
"Name": "protector",
"Type": "Microsoft.AspNetCore.DataProtection.IDataProtector"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Unprotect",
"Parameters": [
{
"Name": "protector",
"Type": "Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector"
},
{
"Name": "protectedData",
"Type": "System.String"
},
{
"Name": "expiration",
"Type": "System.DateTimeOffset",
"Direction": "Out"
}
],
"ReturnType": "System.String",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.DataProtection.DataProtectionProvider",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "Create",
"Parameters": [
{
"Name": "applicationName",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Create",
"Parameters": [
{
"Name": "keyDirectory",
"Type": "System.IO.DirectoryInfo"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Create",
"Parameters": [
{
"Name": "keyDirectory",
"Type": "System.IO.DirectoryInfo"
},
{
"Name": "setupAction",
"Type": "System.Action<Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder>"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Create",
"Parameters": [
{
"Name": "applicationName",
"Type": "System.String"
},
{
"Name": "certificate",
"Type": "System.Security.Cryptography.X509Certificates.X509Certificate2"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Create",
"Parameters": [
{
"Name": "keyDirectory",
"Type": "System.IO.DirectoryInfo"
},
{
"Name": "certificate",
"Type": "System.Security.Cryptography.X509Certificates.X509Certificate2"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Create",
"Parameters": [
{
"Name": "keyDirectory",
"Type": "System.IO.DirectoryInfo"
},
{
"Name": "setupAction",
"Type": "System.Action<Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder>"
},
{
"Name": "certificate",
"Type": "System.Security.Cryptography.X509Certificates.X509Certificate2"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.IDataProtectionProvider",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [
"Microsoft.AspNetCore.DataProtection.IDataProtector"
],
"Members": [
{
"Kind": "Method",
"Name": "CreateProtector",
"Parameters": [
{
"Name": "purpose",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Protect",
"Parameters": [
{
"Name": "plaintext",
"Type": "System.Byte[]"
},
{
"Name": "expiration",
"Type": "System.DateTimeOffset"
}
],
"ReturnType": "System.Byte[]",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Unprotect",
"Parameters": [
{
"Name": "protectedData",
"Type": "System.Byte[]"
},
{
"Name": "expiration",
"Type": "System.DateTimeOffset",
"Direction": "Out"
}
],
"ReturnType": "System.Byte[]",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -6,7 +6,6 @@
<PackageTags>aspnetcore</PackageTags>
<Description>Microsoft.AspNetCore</Description>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<EnableApiCheck>false</EnableApiCheck>
</PropertyGroup>
<ItemGroup>

View File

@ -1,136 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.WebHost",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "Start",
"Parameters": [
{
"Name": "app",
"Type": "Microsoft.AspNetCore.Http.RequestDelegate"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Start",
"Parameters": [
{
"Name": "url",
"Type": "System.String"
},
{
"Name": "app",
"Type": "Microsoft.AspNetCore.Http.RequestDelegate"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Start",
"Parameters": [
{
"Name": "routeBuilder",
"Type": "System.Action<Microsoft.AspNetCore.Routing.IRouteBuilder>"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Start",
"Parameters": [
{
"Name": "url",
"Type": "System.String"
},
{
"Name": "routeBuilder",
"Type": "System.Action<Microsoft.AspNetCore.Routing.IRouteBuilder>"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "StartWith",
"Parameters": [
{
"Name": "app",
"Type": "System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder>"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "StartWith",
"Parameters": [
{
"Name": "url",
"Type": "System.String"
},
{
"Name": "app",
"Type": "System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder>"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "CreateDefaultBuilder",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "CreateDefaultBuilder",
"Parameters": [
{
"Name": "args",
"Type": "System.String[]"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -216,8 +216,8 @@ namespace Microsoft.AspNetCore.JsonPatch.Internal
protected enum OperationType
{
Add = 0,
Get = 2,
Remove = 1,
Get = 2,
Replace = 3,
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
@ -230,8 +230,8 @@ namespace Microsoft.AspNetCore.JsonPatch.Internal
}
protected enum PositionType
{
EndOfList = 1,
Index = 0,
EndOfList = 1,
Invalid = 2,
OutOfBounds = 3,
}
@ -292,12 +292,12 @@ namespace Microsoft.AspNetCore.JsonPatch.Operations
public enum OperationType
{
Add = 0,
Copy = 4,
Invalid = 6,
Move = 3,
Remove = 1,
Replace = 2,
Move = 3,
Copy = 4,
Test = 5,
Invalid = 6,
}
public partial class Operation<TModel> : Microsoft.AspNetCore.JsonPatch.Operations.Operation where TModel : class
{

File diff suppressed because it is too large Load Diff

View File

@ -376,6 +376,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant
<SharedFxContent Include="$(ProjectDepsFilePath)" />
<SharedFxContent Include="$(ProjectRuntimeConfigFilePath)" />
<SharedFxContent Include="@(ReferenceCopyLocalPaths)" Condition="'%(Extension)' != '.pdb'" />
<SharedFxContent Include="$(RepositoryRoot)THIRD-PARTY-NOTICES.txt" />
</ItemGroup>
</Target>

View File

@ -1,947 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Hosting.Abstractions, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Hosting.EnvironmentName",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Field",
"Name": "Development",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "Staging",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "Production",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.HostingAbstractionsWebHostBuilderExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "UseConfiguration",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "configuration",
"Type": "Microsoft.Extensions.Configuration.IConfiguration"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "CaptureStartupErrors",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "captureStartupErrors",
"Type": "System.Boolean"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "UseStartup",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "startupAssemblyName",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "UseServer",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "server",
"Type": "Microsoft.AspNetCore.Hosting.Server.IServer"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "UseEnvironment",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "environment",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "UseContentRoot",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "contentRoot",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "UseWebRoot",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "webRoot",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "UseUrls",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "urls",
"Type": "System.String[]",
"IsParams": true
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "PreferHostingUrls",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "preferHostingUrls",
"Type": "System.Boolean"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "UseShutdownTimeout",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "timeout",
"Type": "System.TimeSpan"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Start",
"Parameters": [
{
"Name": "hostBuilder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "urls",
"Type": "System.String[]",
"IsParams": true
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.HostingEnvironmentExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "IsDevelopment",
"Parameters": [
{
"Name": "hostingEnvironment",
"Type": "Microsoft.AspNetCore.Hosting.IHostingEnvironment"
}
],
"ReturnType": "System.Boolean",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "IsStaging",
"Parameters": [
{
"Name": "hostingEnvironment",
"Type": "Microsoft.AspNetCore.Hosting.IHostingEnvironment"
}
],
"ReturnType": "System.Boolean",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "IsProduction",
"Parameters": [
{
"Name": "hostingEnvironment",
"Type": "Microsoft.AspNetCore.Hosting.IHostingEnvironment"
}
],
"ReturnType": "System.Boolean",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "IsEnvironment",
"Parameters": [
{
"Name": "hostingEnvironment",
"Type": "Microsoft.AspNetCore.Hosting.IHostingEnvironment"
},
{
"Name": "environmentName",
"Type": "System.String"
}
],
"ReturnType": "System.Boolean",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.HostingStartupAttribute",
"Visibility": "Public",
"Kind": "Class",
"Sealed": true,
"BaseType": "System.Attribute",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_HostingStartupType",
"Parameters": [],
"ReturnType": "System.Type",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "hostingStartupType",
"Type": "System.Type"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.IApplicationLifetime",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_ApplicationStarted",
"Parameters": [],
"ReturnType": "System.Threading.CancellationToken",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ApplicationStopping",
"Parameters": [],
"ReturnType": "System.Threading.CancellationToken",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ApplicationStopped",
"Parameters": [],
"ReturnType": "System.Threading.CancellationToken",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "StopApplication",
"Parameters": [],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.IHostingEnvironment",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_EnvironmentName",
"Parameters": [],
"ReturnType": "System.String",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_EnvironmentName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ApplicationName",
"Parameters": [],
"ReturnType": "System.String",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ApplicationName",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_WebRootPath",
"Parameters": [],
"ReturnType": "System.String",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_WebRootPath",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_WebRootFileProvider",
"Parameters": [],
"ReturnType": "Microsoft.Extensions.FileProviders.IFileProvider",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_WebRootFileProvider",
"Parameters": [
{
"Name": "value",
"Type": "Microsoft.Extensions.FileProviders.IFileProvider"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ContentRootPath",
"Parameters": [],
"ReturnType": "System.String",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ContentRootPath",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ContentRootFileProvider",
"Parameters": [],
"ReturnType": "Microsoft.Extensions.FileProviders.IFileProvider",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ContentRootFileProvider",
"Parameters": [
{
"Name": "value",
"Type": "Microsoft.Extensions.FileProviders.IFileProvider"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.IHostingStartup",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "Configure",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.IStartup",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "ConfigureServices",
"Parameters": [
{
"Name": "services",
"Type": "Microsoft.Extensions.DependencyInjection.IServiceCollection"
}
],
"ReturnType": "System.IServiceProvider",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Configure",
"Parameters": [
{
"Name": "app",
"Type": "Microsoft.AspNetCore.Builder.IApplicationBuilder"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.IStartupFilter",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "Configure",
"Parameters": [
{
"Name": "next",
"Type": "System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder>"
}
],
"ReturnType": "System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder>",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.IWebHost",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [
"System.IDisposable"
],
"Members": [
{
"Kind": "Method",
"Name": "get_ServerFeatures",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Http.Features.IFeatureCollection",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Services",
"Parameters": [],
"ReturnType": "System.IServiceProvider",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Start",
"Parameters": [],
"ReturnType": "System.Void",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "StartAsync",
"Parameters": [
{
"Name": "cancellationToken",
"Type": "System.Threading.CancellationToken",
"DefaultValue": "default(System.Threading.CancellationToken)"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "StopAsync",
"Parameters": [
{
"Name": "cancellationToken",
"Type": "System.Threading.CancellationToken",
"DefaultValue": "default(System.Threading.CancellationToken)"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "Build",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ConfigureAppConfiguration",
"Parameters": [
{
"Name": "configureDelegate",
"Type": "System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext, Microsoft.Extensions.Configuration.IConfigurationBuilder>"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ConfigureServices",
"Parameters": [
{
"Name": "configureServices",
"Type": "System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection>"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ConfigureServices",
"Parameters": [
{
"Name": "configureServices",
"Type": "System.Action<Microsoft.AspNetCore.Hosting.WebHostBuilderContext, Microsoft.Extensions.DependencyInjection.IServiceCollection>"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetSetting",
"Parameters": [
{
"Name": "key",
"Type": "System.String"
}
],
"ReturnType": "System.String",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "UseSetting",
"Parameters": [
{
"Name": "key",
"Type": "System.String"
},
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHostBuilder",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.WebHostBuilderContext",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_HostingEnvironment",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Hosting.IHostingEnvironment",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_HostingEnvironment",
"Parameters": [
{
"Name": "value",
"Type": "Microsoft.AspNetCore.Hosting.IHostingEnvironment"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Configuration",
"Parameters": [],
"ReturnType": "Microsoft.Extensions.Configuration.IConfiguration",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_Configuration",
"Parameters": [
{
"Name": "value",
"Type": "Microsoft.Extensions.Configuration.IConfiguration"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.WebHostDefaults",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Field",
"Name": "ApplicationKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "StartupAssemblyKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "HostingStartupAssembliesKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "DetailedErrorsKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "EnvironmentKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "WebRootKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "CaptureStartupErrorsKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "ServerUrlsKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "ContentRootKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "PreferHostingUrlsKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "PreventHostingStartupKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "ShutdownTimeoutKey",
"Parameters": [],
"ReturnType": "System.String",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Hosting.Internal
case 3:
return new KeyValuePair<string, object>("ContentLength", _request.ContentLength);
case 4:
return new KeyValuePair<string, object>("Scheme", _request.Scheme.ToString());
return new KeyValuePair<string, object>("Scheme", _request.Scheme);
case 5:
return new KeyValuePair<string, object>("Host", _request.Host.ToString());
case 6:

File diff suppressed because it is too large Load Diff

View File

@ -5,6 +5,7 @@ using System;
using System.Diagnostics.Tracing;
using System.Reflection;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Testing;
using Microsoft.AspNetCore.Testing.xunit;
using Xunit;
@ -108,7 +109,7 @@ namespace Microsoft.AspNetCore.Hosting.Internal
[Theory]
[MemberData(nameof(RequestStartData))]
[Flaky("https://github.com/aspnet/AspNetCore-Internal/issues/2040", "All")]
[Flaky("https://github.com/aspnet/AspNetCore-Internal/issues/2230", FlakyOn.All)]
public void RequestStart(DefaultHttpContext httpContext, string[] expected)
{
// Arrange

View File

@ -14,6 +14,7 @@ using Microsoft.AspNetCore.Hosting.Server;
using Microsoft.AspNetCore.Hosting.Server.Features;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Testing;
using Microsoft.AspNetCore.Testing.xunit;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
@ -238,7 +239,7 @@ namespace Microsoft.AspNetCore.Hosting
}
[ConditionalFact]
[SkipOnHelix] // https://github.com/aspnet/AspNetCore/issues/7291
[Flaky("https://github.com/aspnet/AspNetCore-Internal/issues/2244", FlakyOn.Helix.All)]
public async Task WebHostStopAsyncUsesDefaultTimeoutIfNoTokenProvided()
{
var data = new Dictionary<string, string>

View File

@ -1,150 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Hosting.Server.Abstractions, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Hosting.Server.IHttpApplication<T0>",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "CreateContext",
"Parameters": [
{
"Name": "contextFeatures",
"Type": "Microsoft.AspNetCore.Http.Features.IFeatureCollection"
}
],
"ReturnType": "T0",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ProcessRequestAsync",
"Parameters": [
{
"Name": "context",
"Type": "T0"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "DisposeContext",
"Parameters": [
{
"Name": "context",
"Type": "T0"
},
{
"Name": "exception",
"Type": "System.Exception"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": [
{
"ParameterName": "TContext",
"ParameterPosition": 0,
"BaseTypeOrInterfaces": []
}
]
},
{
"Name": "Microsoft.AspNetCore.Hosting.Server.IServer",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [
"System.IDisposable"
],
"Members": [
{
"Kind": "Method",
"Name": "get_Features",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Http.Features.IFeatureCollection",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "StartAsync<T0>",
"Parameters": [
{
"Name": "application",
"Type": "Microsoft.AspNetCore.Hosting.Server.IHttpApplication<T0>"
},
{
"Name": "cancellationToken",
"Type": "System.Threading.CancellationToken"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"GenericParameter": [
{
"ParameterName": "TContext",
"ParameterPosition": 0,
"BaseTypeOrInterfaces": []
}
]
},
{
"Kind": "Method",
"Name": "StopAsync",
"Parameters": [
{
"Name": "cancellationToken",
"Type": "System.Threading.CancellationToken"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_Addresses",
"Parameters": [],
"ReturnType": "System.Collections.Generic.ICollection<System.String>",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_PreferHostingUrls",
"Parameters": [],
"ReturnType": "System.Boolean",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_PreferHostingUrls",
"Parameters": [
{
"Name": "value",
"Type": "System.Boolean"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -3,7 +3,6 @@
<PropertyGroup>
<Description>ASP.NET Core helpers to deploy applications to IIS Express, IIS, WebListener and Kestrel for testing.</Description>
<TargetFramework>netcoreapp3.0</TargetFramework>
<EnableApiCheck>false</EnableApiCheck>
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;testing</PackageTags>

View File

@ -5,7 +5,7 @@ namespace Microsoft.AspNetCore.TestHost
{
public partial class ClientHandler : System.Net.Http.HttpMessageHandler
{
public ClientHandler(Microsoft.AspNetCore.Http.PathString pathBase, Microsoft.AspNetCore.Hosting.Server.IHttpApplication<Microsoft.AspNetCore.Hosting.Internal.HostingApplication.Context> application) { }
internal ClientHandler() { }
[System.Diagnostics.DebuggerStepThroughAttribute]
protected override System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { throw null; }
}

View File

@ -31,9 +31,7 @@ namespace Microsoft.AspNetCore.TestHost
/// </summary>
/// <param name="pathBase">The base path.</param>
/// <param name="application">The <see cref="IHttpApplication{TContext}"/>.</param>
#pragma warning disable PUB0001
public ClientHandler(PathString pathBase, IHttpApplication<Context> application)
#pragma warning restore PUB0001
internal ClientHandler(PathString pathBase, IHttpApplication<Context> application)
{
_application = application ?? throw new ArgumentNullException(nameof(application));

View File

@ -1,316 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.TestHost, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.TestHost.ClientHandler",
"Visibility": "Public",
"Kind": "Class",
"BaseType": "System.Net.Http.HttpMessageHandler",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "SendAsync",
"Parameters": [
{
"Name": "request",
"Type": "System.Net.Http.HttpRequestMessage"
},
{
"Name": "cancellationToken",
"Type": "System.Threading.CancellationToken"
}
],
"ReturnType": "System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>",
"Virtual": true,
"Override": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "pathBase",
"Type": "Microsoft.AspNetCore.Http.PathString"
},
{
"Name": "application",
"Type": "Microsoft.AspNetCore.Hosting.Server.IHttpApplication<Microsoft.AspNetCore.Hosting.Internal.HostingApplication+Context>"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.TestHost.RequestBuilder",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "And",
"Parameters": [
{
"Name": "configure",
"Type": "System.Action<System.Net.Http.HttpRequestMessage>"
}
],
"ReturnType": "Microsoft.AspNetCore.TestHost.RequestBuilder",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddHeader",
"Parameters": [
{
"Name": "name",
"Type": "System.String"
},
{
"Name": "value",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.TestHost.RequestBuilder",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "SendAsync",
"Parameters": [
{
"Name": "method",
"Type": "System.String"
}
],
"ReturnType": "System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "PostAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "server",
"Type": "Microsoft.AspNetCore.TestHost.TestServer"
},
{
"Name": "path",
"Type": "System.String"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.TestHost.TestServer",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Hosting.Server.IServer"
],
"Members": [
{
"Kind": "Method",
"Name": "get_BaseAddress",
"Parameters": [],
"ReturnType": "System.Uri",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_BaseAddress",
"Parameters": [
{
"Name": "value",
"Type": "System.Uri"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Host",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Hosting.IWebHost",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Features",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Http.Features.IFeatureCollection",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Hosting.Server.IServer",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "CreateHandler",
"Parameters": [],
"ReturnType": "System.Net.Http.HttpMessageHandler",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "CreateClient",
"Parameters": [],
"ReturnType": "System.Net.Http.HttpClient",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "CreateWebSocketClient",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.TestHost.WebSocketClient",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "CreateRequest",
"Parameters": [
{
"Name": "path",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.TestHost.RequestBuilder",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Dispose",
"Parameters": [],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "System.IDisposable",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
}
],
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Hosting.IWebHostBuilder"
},
{
"Name": "featureCollection",
"Type": "Microsoft.AspNetCore.Http.Features.IFeatureCollection"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.TestHost.WebSocketClient",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "get_SubProtocols",
"Parameters": [],
"ReturnType": "System.Collections.Generic.IList<System.String>",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_ConfigureRequest",
"Parameters": [],
"ReturnType": "System.Action<Microsoft.AspNetCore.Http.HttpRequest>",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_ConfigureRequest",
"Parameters": [
{
"Name": "value",
"Type": "System.Action<Microsoft.AspNetCore.Http.HttpRequest>"
}
],
"ReturnType": "System.Void",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ConnectAsync",
"Parameters": [
{
"Name": "uri",
"Type": "System.Uri"
},
{
"Name": "cancellationToken",
"Type": "System.Threading.CancellationToken"
}
],
"ReturnType": "System.Threading.Tasks.Task<System.Net.WebSockets.WebSocket>",
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.TestHost
var handler = new ClientHandler(new PathString("/A/Path/"), new DummyApplication(context =>
{
// TODO: Assert.True(context.RequestAborted.CanBeCanceled);
Assert.Equal("HTTP/2.0", context.Request.Protocol);
Assert.Equal("HTTP/1.1", context.Request.Protocol);
Assert.Equal("GET", context.Request.Method);
Assert.Equal("https", context.Request.Scheme);
Assert.Equal("/A/Path", context.Request.PathBase.Value);
@ -55,7 +55,7 @@ namespace Microsoft.AspNetCore.TestHost
var handler = new ClientHandler(new PathString("/A/Path/"), new InspectingApplication(features =>
{
// TODO: Assert.True(context.RequestAborted.CanBeCanceled);
Assert.Equal("HTTP/2.0", features.Get<IHttpRequestFeature>().Protocol);
Assert.Equal("HTTP/1.1", features.Get<IHttpRequestFeature>().Protocol);
Assert.Equal("GET", features.Get<IHttpRequestFeature>().Method);
Assert.Equal("https", features.Get<IHttpRequestFeature>().Scheme);
Assert.Equal("/A/Path", features.Get<IHttpRequestFeature>().PathBase);

View File

@ -1,122 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Hosting.WindowsServices, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService",
"Visibility": "Public",
"Kind": "Class",
"BaseType": "System.ServiceProcess.ServiceBase",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "OnStart",
"Parameters": [
{
"Name": "args",
"Type": "System.String[]"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"Override": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStop",
"Parameters": [],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"Override": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStarting",
"Parameters": [
{
"Name": "args",
"Type": "System.String[]"
}
],
"ReturnType": "System.Void",
"Virtual": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStarted",
"Parameters": [],
"ReturnType": "System.Void",
"Virtual": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStopping",
"Parameters": [],
"ReturnType": "System.Void",
"Virtual": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStopped",
"Parameters": [],
"ReturnType": "System.Void",
"Virtual": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "host",
"Type": "Microsoft.AspNetCore.Hosting.IWebHost"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.WindowsServices.WebHostWindowsServiceExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "RunAsService",
"Parameters": [
{
"Name": "host",
"Type": "Microsoft.AspNetCore.Hosting.IWebHost"
}
],
"ReturnType": "System.Void",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,122 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Hosting.WindowsServices, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Hosting.WindowsServices.WebHostService",
"Visibility": "Public",
"Kind": "Class",
"BaseType": "System.ServiceProcess.ServiceBase",
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "OnStart",
"Parameters": [
{
"Name": "args",
"Type": "System.String[]"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"Override": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStop",
"Parameters": [],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"Override": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStarting",
"Parameters": [
{
"Name": "args",
"Type": "System.String[]"
}
],
"ReturnType": "System.Void",
"Virtual": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStarted",
"Parameters": [],
"ReturnType": "System.Void",
"Virtual": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStopping",
"Parameters": [],
"ReturnType": "System.Void",
"Virtual": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "OnStopped",
"Parameters": [],
"ReturnType": "System.Void",
"Virtual": true,
"Visibility": "Protected",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "host",
"Type": "Microsoft.AspNetCore.Hosting.IWebHost"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Hosting.WindowsServices.WebHostWindowsServiceExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "RunAsService",
"Parameters": [
{
"Name": "host",
"Type": "Microsoft.AspNetCore.Hosting.IWebHost"
}
],
"ReturnType": "System.Void",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -1,626 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Html.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Html.HtmlContentBuilder",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Html.IHtmlContentBuilder"
],
"Members": [
{
"Kind": "Method",
"Name": "CopyTo",
"Parameters": [
{
"Name": "destination",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContentContainer",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "MoveTo",
"Parameters": [
{
"Name": "destination",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContentContainer",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "WriteTo",
"Parameters": [
{
"Name": "writer",
"Type": "System.IO.TextWriter"
},
{
"Name": "encoder",
"Type": "System.Text.Encodings.Web.HtmlEncoder"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContent",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Count",
"Parameters": [],
"ReturnType": "System.Int32",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Append",
"Parameters": [
{
"Name": "unencoded",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AppendHtml",
"Parameters": [
{
"Name": "htmlContent",
"Type": "Microsoft.AspNetCore.Html.IHtmlContent"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AppendHtml",
"Parameters": [
{
"Name": "encoded",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Clear",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "capacity",
"Type": "System.Int32"
}
],
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "entries",
"Type": "System.Collections.Generic.IList<System.Object>"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Html.HtmlContentBuilderExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "AppendFormat",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
},
{
"Name": "format",
"Type": "System.String"
},
{
"Name": "args",
"Type": "System.Object[]",
"IsParams": true
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AppendFormat",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
},
{
"Name": "formatProvider",
"Type": "System.IFormatProvider"
},
{
"Name": "format",
"Type": "System.String"
},
{
"Name": "args",
"Type": "System.Object[]",
"IsParams": true
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AppendLine",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AppendLine",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
},
{
"Name": "unencoded",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AppendLine",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
},
{
"Name": "content",
"Type": "Microsoft.AspNetCore.Html.IHtmlContent"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AppendHtmlLine",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
},
{
"Name": "encoded",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "SetContent",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
},
{
"Name": "unencoded",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "SetHtmlContent",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
},
{
"Name": "content",
"Type": "Microsoft.AspNetCore.Html.IHtmlContent"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "SetHtmlContent",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
},
{
"Name": "encoded",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Html.HtmlFormattableString",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Html.IHtmlContent"
],
"Members": [
{
"Kind": "Method",
"Name": "WriteTo",
"Parameters": [
{
"Name": "writer",
"Type": "System.IO.TextWriter"
},
{
"Name": "encoder",
"Type": "System.Text.Encodings.Web.HtmlEncoder"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContent",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "format",
"Type": "System.String"
},
{
"Name": "args",
"Type": "System.Object[]",
"IsParams": true
}
],
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "formatProvider",
"Type": "System.IFormatProvider"
},
{
"Name": "format",
"Type": "System.String"
},
{
"Name": "args",
"Type": "System.Object[]",
"IsParams": true
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Html.HtmlString",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Html.IHtmlContent"
],
"Members": [
{
"Kind": "Method",
"Name": "get_Value",
"Parameters": [],
"ReturnType": "System.String",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "WriteTo",
"Parameters": [
{
"Name": "writer",
"Type": "System.IO.TextWriter"
},
{
"Name": "encoder",
"Type": "System.Text.Encodings.Web.HtmlEncoder"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Html.IHtmlContent",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ToString",
"Parameters": [],
"ReturnType": "System.String",
"Virtual": true,
"Override": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "value",
"Type": "System.String"
}
],
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "NewLine",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Html.HtmlString",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Field",
"Name": "Empty",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Html.HtmlString",
"Static": true,
"ReadOnly": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Html.IHtmlContent",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "WriteTo",
"Parameters": [
{
"Name": "writer",
"Type": "System.IO.TextWriter"
},
{
"Name": "encoder",
"Type": "System.Text.Encodings.Web.HtmlEncoder"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Html.IHtmlContentContainer"
],
"Members": [
{
"Kind": "Method",
"Name": "AppendHtml",
"Parameters": [
{
"Name": "content",
"Type": "Microsoft.AspNetCore.Html.IHtmlContent"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Append",
"Parameters": [
{
"Name": "unencoded",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AppendHtml",
"Parameters": [
{
"Name": "encoded",
"Type": "System.String"
}
],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "Clear",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Html.IHtmlContentBuilder",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Html.IHtmlContentContainer",
"Visibility": "Public",
"Kind": "Interface",
"Abstract": true,
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Html.IHtmlContent"
],
"Members": [
{
"Kind": "Method",
"Name": "CopyTo",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "MoveTo",
"Parameters": [
{
"Name": "builder",
"Type": "Microsoft.AspNetCore.Html.IHtmlContentBuilder"
}
],
"ReturnType": "System.Void",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -6,7 +6,6 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;authentication;security</PackageTags>
<EnableApiCheck>false</EnableApiCheck>
</PropertyGroup>
<ItemGroup>

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,6 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;authentication;security</PackageTags>
<EnableApiCheck>false</EnableApiCheck>
</PropertyGroup>
<ItemGroup>

View File

@ -1,515 +0,0 @@
{
"AssemblyIdentity": "Microsoft.AspNetCore.Authentication.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60",
"Types": [
{
"Name": "Microsoft.AspNetCore.Authentication.AuthenticationFeature",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Authentication.IAuthenticationFeature"
],
"Members": [
{
"Kind": "Method",
"Name": "get_OriginalPathBase",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Http.PathString",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationFeature",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_OriginalPathBase",
"Parameters": [
{
"Name": "value",
"Type": "Microsoft.AspNetCore.Http.PathString"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationFeature",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_OriginalPath",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Http.PathString",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationFeature",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "set_OriginalPath",
"Parameters": [
{
"Name": "value",
"Type": "Microsoft.AspNetCore.Http.PathString"
}
],
"ReturnType": "System.Void",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationFeature",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AuthenticationHandlerProvider",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Authentication.IAuthenticationHandlerProvider"
],
"Members": [
{
"Kind": "Method",
"Name": "get_Schemes",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetHandlerAsync",
"Parameters": [
{
"Name": "context",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
},
{
"Name": "authenticationScheme",
"Type": "System.String"
}
],
"ReturnType": "System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.IAuthenticationHandler>",
"Sealed": true,
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationHandlerProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "schemes",
"Type": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AuthenticationSchemeProvider",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider"
],
"Members": [
{
"Kind": "Method",
"Name": "GetDefaultAuthenticateSchemeAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetDefaultChallengeSchemeAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetDefaultForbidSchemeAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetDefaultSignInSchemeAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetDefaultSignOutSchemeAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetSchemeAsync",
"Parameters": [
{
"Name": "name",
"Type": "System.String"
}
],
"ReturnType": "System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationScheme>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetRequestHandlerSchemesAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddScheme",
"Parameters": [
{
"Name": "scheme",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationScheme"
}
],
"ReturnType": "System.Void",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "RemoveScheme",
"Parameters": [
{
"Name": "name",
"Type": "System.String"
}
],
"ReturnType": "System.Void",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "GetAllSchemesAsync",
"Parameters": [],
"ReturnType": "System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authentication.AuthenticationScheme>>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "options",
"Type": "Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authentication.AuthenticationOptions>"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.AuthenticationService",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Authentication.IAuthenticationService"
],
"Members": [
{
"Kind": "Method",
"Name": "get_Schemes",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Handlers",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Authentication.IAuthenticationHandlerProvider",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "get_Transform",
"Parameters": [],
"ReturnType": "Microsoft.AspNetCore.Authentication.IClaimsTransformation",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AuthenticateAsync",
"Parameters": [
{
"Name": "context",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
},
{
"Name": "scheme",
"Type": "System.String"
}
],
"ReturnType": "System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationService",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ChallengeAsync",
"Parameters": [
{
"Name": "context",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
},
{
"Name": "scheme",
"Type": "System.String"
},
{
"Name": "properties",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationProperties"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationService",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "ForbidAsync",
"Parameters": [
{
"Name": "context",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
},
{
"Name": "scheme",
"Type": "System.String"
},
{
"Name": "properties",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationProperties"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationService",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "SignInAsync",
"Parameters": [
{
"Name": "context",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
},
{
"Name": "scheme",
"Type": "System.String"
},
{
"Name": "principal",
"Type": "System.Security.Claims.ClaimsPrincipal"
},
{
"Name": "properties",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationProperties"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationService",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "SignOutAsync",
"Parameters": [
{
"Name": "context",
"Type": "Microsoft.AspNetCore.Http.HttpContext"
},
{
"Name": "scheme",
"Type": "System.String"
},
{
"Name": "properties",
"Type": "Microsoft.AspNetCore.Authentication.AuthenticationProperties"
}
],
"ReturnType": "System.Threading.Tasks.Task",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IAuthenticationService",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [
{
"Name": "schemes",
"Type": "Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider"
},
{
"Name": "handlers",
"Type": "Microsoft.AspNetCore.Authentication.IAuthenticationHandlerProvider"
},
{
"Name": "transform",
"Type": "Microsoft.AspNetCore.Authentication.IClaimsTransformation"
}
],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.AspNetCore.Authentication.NoopClaimsTransformation",
"Visibility": "Public",
"Kind": "Class",
"ImplementedInterfaces": [
"Microsoft.AspNetCore.Authentication.IClaimsTransformation"
],
"Members": [
{
"Kind": "Method",
"Name": "TransformAsync",
"Parameters": [
{
"Name": "principal",
"Type": "System.Security.Claims.ClaimsPrincipal"
}
],
"ReturnType": "System.Threading.Tasks.Task<System.Security.Claims.ClaimsPrincipal>",
"Virtual": true,
"ImplementedInterface": "Microsoft.AspNetCore.Authentication.IClaimsTransformation",
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Constructor",
"Name": ".ctor",
"Parameters": [],
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
},
{
"Name": "Microsoft.Extensions.DependencyInjection.AuthenticationCoreServiceCollectionExtensions",
"Visibility": "Public",
"Kind": "Class",
"Abstract": true,
"Static": true,
"Sealed": true,
"ImplementedInterfaces": [],
"Members": [
{
"Kind": "Method",
"Name": "AddAuthenticationCore",
"Parameters": [
{
"Name": "services",
"Type": "Microsoft.Extensions.DependencyInjection.IServiceCollection"
}
],
"ReturnType": "Microsoft.Extensions.DependencyInjection.IServiceCollection",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
},
{
"Kind": "Method",
"Name": "AddAuthenticationCore",
"Parameters": [
{
"Name": "services",
"Type": "Microsoft.Extensions.DependencyInjection.IServiceCollection"
},
{
"Name": "configureOptions",
"Type": "System.Action<Microsoft.AspNetCore.Authentication.AuthenticationOptions>"
}
],
"ReturnType": "Microsoft.Extensions.DependencyInjection.IServiceCollection",
"Static": true,
"Extension": true,
"Visibility": "Public",
"GenericParameter": []
}
],
"GenericParameters": []
}
]
}

View File

@ -316,8 +316,8 @@ namespace Microsoft.Net.Http.Headers
}
public enum SameSiteMode
{
Lax = 1,
None = 0,
Lax = 1,
Strict = 2,
}
public partial class SetCookieHeaderValue

View File

@ -6,14 +6,14 @@ using Microsoft.Extensions.Primitives;
namespace Microsoft.Net.Http.Headers
{
internal class CookieHeaderParser : HttpHeaderParser<CookieHeaderValue>
internal sealed class CookieHeaderParser : HttpHeaderParser<CookieHeaderValue>
{
internal CookieHeaderParser(bool supportsMultipleValues)
: base(supportsMultipleValues)
{
}
public sealed override bool TryParseValue(StringSegment value, ref int index, out CookieHeaderValue parsedValue)
public override bool TryParseValue(StringSegment value, ref int index, out CookieHeaderValue parsedValue)
{
parsedValue = null;
@ -27,8 +27,7 @@ namespace Microsoft.Net.Http.Headers
return SupportsMultipleValues;
}
var separatorFound = false;
var current = GetNextNonEmptyOrWhitespaceIndex(value, index, SupportsMultipleValues, out separatorFound);
var current = GetNextNonEmptyOrWhitespaceIndex(value, index, SupportsMultipleValues, out bool separatorFound);
if (separatorFound && !SupportsMultipleValues)
{

View File

@ -11,7 +11,7 @@ namespace Microsoft.Net.Http.Headers
// type to throw if 'null' gets added. Collection<T> internally uses List<T> which comes at some cost. In addition
// Collection<T>.Add() calls List<T>.InsertItem() which is an O(n) operation (compared to O(1) for List<T>.Add()).
// This type is only used for very small collections (1-2 items) to keep the impact of using Collection<T> small.
internal class ObjectCollection<T> : Collection<T>
internal sealed class ObjectCollection<T> : Collection<T>
{
internal static readonly Action<T> DefaultValidator = CheckNotNull;
internal static readonly ObjectCollection<T> EmptyReadOnlyCollection
@ -57,22 +57,12 @@ namespace Microsoft.Net.Http.Headers
public bool IsReadOnly => ((ICollection<T>)this).IsReadOnly;
protected override void ClearItems()
{
base.ClearItems();
}
protected override void InsertItem(int index, T item)
{
_validator(item);
base.InsertItem(index, item);
}
protected override void RemoveItem(int index)
{
base.RemoveItem(index);
}
protected override void SetItem(int index, T item)
{
_validator(item);

File diff suppressed because it is too large Load Diff

View File

@ -135,9 +135,9 @@ namespace Microsoft.AspNetCore.Http
}
public enum CookieSecurePolicy
{
SameAsRequest = 0,
Always = 1,
None = 2,
SameAsRequest = 0,
}
public partial class Endpoint
{

View File

@ -1,47 +1,67 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Diagnostics;
using System.Runtime.CompilerServices;
namespace Microsoft.AspNetCore.Http.Internal
{
internal class PathStringHelper
internal static class PathStringHelper
{
private static bool[] ValidPathChars = {
false, false, false, false, false, false, false, false, // 0x00 - 0x07
false, false, false, false, false, false, false, false, // 0x08 - 0x0F
false, false, false, false, false, false, false, false, // 0x10 - 0x17
false, false, false, false, false, false, false, false, // 0x18 - 0x1F
false, true, false, false, true, false, true, true, // 0x20 - 0x27
true, true, true, true, true, true, true, true, // 0x28 - 0x2F
true, true, true, true, true, true, true, true, // 0x30 - 0x37
true, true, true, true, false, true, false, false, // 0x38 - 0x3F
true, true, true, true, true, true, true, true, // 0x40 - 0x47
true, true, true, true, true, true, true, true, // 0x48 - 0x4F
true, true, true, true, true, true, true, true, // 0x50 - 0x57
true, true, true, false, false, false, false, true, // 0x58 - 0x5F
false, true, true, true, true, true, true, true, // 0x60 - 0x67
true, true, true, true, true, true, true, true, // 0x68 - 0x6F
true, true, true, true, true, true, true, true, // 0x70 - 0x77
true, true, true, false, false, false, true, false, // 0x78 - 0x7F
// uint[] bits uses 1 cache line (Array info + 16 bytes)
// bool[] would use 3 cache lines (Array info + 128 bytes)
// So we use 128 bits rather than 128 bytes/bools
private static readonly uint[] ValidPathChars = {
0b_0000_0000__0000_0000__0000_0000__0000_0000, // 0x00 - 0x1F
0b_0010_1111__1111_1111__1111_1111__1101_0010, // 0x20 - 0x3F
0b_1000_0111__1111_1111__1111_1111__1111_1111, // 0x40 - 0x5F
0b_0100_0111__1111_1111__1111_1111__1111_1110, // 0x60 - 0x7F
};
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsValidPathChar(char c)
{
return c < ValidPathChars.Length && ValidPathChars[c];
// Use local array and uint .Length compare to elide the bounds check on array access
var validChars = ValidPathChars;
var i = (int)c;
// Array is in chunks of 32 bits, so get offset by dividing by 32
var offset = i >> 5; // i / 32;
// Significant bit position is the remainder of the above calc; i % 32 => i & 31
var significantBit = 1u << (i & 31);
// Check offset in bounds and check if significant bit set
return (uint)offset < (uint)validChars.Length &&
((validChars[offset] & significantBit) != 0);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsPercentEncodedChar(string str, int index)
{
return index < str.Length - 2
&& str[index] == '%'
&& IsHexadecimalChar(str[index + 1])
&& IsHexadecimalChar(str[index + 2]);
var len = (uint)str.Length;
if (str[index] == '%' && index < len - 2)
{
return AreFollowingTwoCharsHex(str, index);
}
return false;
}
public static bool IsHexadecimalChar(char c)
[MethodImpl(MethodImplOptions.NoInlining)]
private static bool AreFollowingTwoCharsHex(string str, int index)
{
return ('0' <= c && c <= '9')
|| ('A' <= c && c <= 'F')
|| ('a' <= c && c <= 'f');
Debug.Assert(index < str.Length - 2);
var c1 = str[index + 1];
var c2 = str[index + 2];
return IsHexadecimalChar(c1) && IsHexadecimalChar(c2);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static bool IsHexadecimalChar(char c)
{
// Between 0 - 9 or uppercased between A - F
return (uint)(c - '0') <= 9 || (uint)((c & ~0x20) - 'A') <= ('F' - 'A');
}
}
}

View File

@ -16,8 +16,6 @@ namespace Microsoft.AspNetCore.Http
[TypeConverter(typeof(PathStringConverter))]
public readonly struct PathString : IEquatable<PathString>
{
private static readonly char[] splitChar = { '/' };
/// <summary>
/// Represents the empty path. This field is read-only.
/// </summary>
@ -75,27 +73,46 @@ namespace Microsoft.AspNetCore.Http
return string.Empty;
}
var value = _value;
var i = 0;
for (; i < value.Length; i++)
{
if (!PathStringHelper.IsValidPathChar(value[i]) || PathStringHelper.IsPercentEncodedChar(value, i))
{
break;
}
}
if (i < value.Length)
{
return ToEscapedUriComponent(value, i);
}
return value;
}
private static string ToEscapedUriComponent(string value, int i)
{
StringBuilder buffer = null;
var start = 0;
var count = 0;
var count = i;
var requiresEscaping = false;
var i = 0;
while (i < _value.Length)
while (i < value.Length)
{
var isPercentEncodedChar = PathStringHelper.IsPercentEncodedChar(_value, i);
if (PathStringHelper.IsValidPathChar(_value[i]) || isPercentEncodedChar)
var isPercentEncodedChar = PathStringHelper.IsPercentEncodedChar(value, i);
if (PathStringHelper.IsValidPathChar(value[i]) || isPercentEncodedChar)
{
if (requiresEscaping)
{
// the current segment requires escape
if (buffer == null)
{
buffer = new StringBuilder(_value.Length * 3);
buffer = new StringBuilder(value.Length * 3);
}
buffer.Append(Uri.EscapeDataString(_value.Substring(start, count)));
buffer.Append(Uri.EscapeDataString(value.Substring(start, count)));
requiresEscaping = false;
start = i;
@ -120,10 +137,10 @@ namespace Microsoft.AspNetCore.Http
// the current segment doesn't require escape
if (buffer == null)
{
buffer = new StringBuilder(_value.Length * 3);
buffer = new StringBuilder(value.Length * 3);
}
buffer.Append(_value, start, count);
buffer.Append(value, start, count);
requiresEscaping = true;
start = i;
@ -135,9 +152,9 @@ namespace Microsoft.AspNetCore.Http
}
}
if (count == _value.Length && !requiresEscaping)
if (count == value.Length && !requiresEscaping)
{
return _value;
return value;
}
else
{
@ -145,16 +162,16 @@ namespace Microsoft.AspNetCore.Http
{
if (buffer == null)
{
buffer = new StringBuilder(_value.Length * 3);
buffer = new StringBuilder(value.Length * 3);
}
if (requiresEscaping)
{
buffer.Append(Uri.EscapeDataString(_value.Substring(start, count)));
buffer.Append(Uri.EscapeDataString(value.Substring(start, count)));
}
else
{
buffer.Append(_value, start, count);
buffer.Append(value, start, count);
}
}
@ -162,7 +179,6 @@ namespace Microsoft.AspNetCore.Http
}
}
/// <summary>
/// Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any
/// value that is not a path.
@ -456,7 +472,7 @@ namespace Microsoft.AspNetCore.Http
=> string.IsNullOrEmpty(s) ? new PathString(s) : FromUriComponent(s);
}
internal class PathStringConverter : TypeConverter
internal sealed class PathStringConverter : TypeConverter
{
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string)

View File

@ -4,7 +4,7 @@
namespace Microsoft.AspNetCore.Http
{
/// <summary>
/// Respresents a logical endpoint in an application.
/// Represents a logical endpoint in an application.
/// </summary>
public class Endpoint
{

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +0,0 @@
[
{
"TypeId": "public abstract class Microsoft.AspNetCore.Http.Authentication.AuthenticationManager",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Authentication.AuthenticateInfo",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Authentication.AuthenticationDescription",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Authentication.AuthenticationProperties",
"Kind": "Removal"
},
{
"TypeId": "public abstract class Microsoft.AspNetCore.Http.HttpContext",
"MemberId": "public abstract Microsoft.AspNetCore.Http.Authentication.AuthenticationManager get_Authentication()",
"Kind": "Removal"
}
]

File diff suppressed because it is too large Load Diff

View File

@ -84,8 +84,8 @@ namespace Microsoft.AspNetCore.Http
}
public enum SameSiteMode
{
Lax = 1,
None = 0,
Lax = 1,
Strict = 2,
}
public partial class WebSocketAcceptContext
@ -133,9 +133,9 @@ namespace Microsoft.AspNetCore.Http.Features
}
public enum HttpsCompressionMode
{
Compress = 2,
Default = 0,
DoNotCompress = 1,
Compress = 2,
}
public partial interface IFeatureCollection : System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.Type, object>>, System.Collections.IEnumerable
{

File diff suppressed because it is too large Load Diff

View File

@ -1,57 +0,0 @@
[
{
"TypeId": "public class Microsoft.AspNetCore.Http.Features.Authentication.AuthenticateContext",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Features.Authentication.ChallengeContext",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Features.Authentication.DescribeSchemesContext",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Authentication.AuthenticateInfo",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Authentication.AuthenticationDescription",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Authentication.AuthenticationProperties",
"Kind": "Removal"
},
{
"TypeId": "public abstract class Microsoft.AspNetCore.Http.HttpContext",
"MemberId": "public abstract Microsoft.AspNetCore.Http.Authentication.AuthenticationManager get_Authentication()",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Features.Authentication.SignInContext",
"Kind": "Removal"
},
{
"TypeId": "public class Microsoft.AspNetCore.Http.Features.Authentication.SignOutContext",
"Kind": "Removal"
},
{
"TypeId": "public enum Microsoft.AspNetCore.Http.Features.Authentication.ChallengeBehavior",
"Kind": "Removal"
},
{
"TypeId": "public interface Microsoft.AspNetCore.Http.Features.Authentication.IAuthenticationHandler",
"Kind": "Removal"
},
{
"TypeId": "public interface Microsoft.AspNetCore.Http.Features.Authentication.IHttpAuthenticationFeature",
"MemberId": "Microsoft.AspNetCore.Http.Features.Authentication.IAuthenticationHandler get_Handler()",
"Kind": "Removal"
},
{
"TypeId": "public interface Microsoft.AspNetCore.Http.Features.Authentication.IHttpAuthenticationFeature",
"MemberId": "System.Void set_Handler(Microsoft.AspNetCore.Http.Features.Authentication.IAuthenticationHandler value)",
"Kind": "Removal"
}
]

View File

@ -249,7 +249,6 @@ namespace Microsoft.AspNetCore.Http.Features
public RequestServicesFeature(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.Extensions.DependencyInjection.IServiceScopeFactory scopeFactory) { }
public System.IServiceProvider RequestServices { get { throw null; } set { } }
public void Dispose() { }
[System.Diagnostics.DebuggerStepThroughAttribute]
public System.Threading.Tasks.ValueTask DisposeAsync() { throw null; }
}
public partial class ResponseBodyPipeFeature : Microsoft.AspNetCore.Http.Features.IResponseBodyPipeFeature

View File

@ -42,12 +42,19 @@ namespace Microsoft.AspNetCore.Http.Features
}
}
public async ValueTask DisposeAsync()
public ValueTask DisposeAsync()
{
switch (_scope)
{
case IAsyncDisposable asyncDisposable:
await asyncDisposable.DisposeAsync();
var vt = asyncDisposable.DisposeAsync();
if (!vt.IsCompletedSuccessfully)
{
return Awaited(this, vt);
}
// If its a IValueTaskSource backed ValueTask,
// inform it its result has been read so it can reset
vt.GetAwaiter().GetResult();
break;
case IDisposable disposable:
disposable.Dispose();
@ -56,6 +63,15 @@ namespace Microsoft.AspNetCore.Http.Features
_scope = null;
_requestServices = null;
return default;
static async ValueTask Awaited(RequestServicesFeature servicesFeature, ValueTask vt)
{
await vt;
servicesFeature._scope = null;
servicesFeature._requestServices = null;
}
}
public void Dispose()

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
@ -43,7 +43,7 @@ namespace Microsoft.AspNetCore.Http.Internal
}
else
{
return Scheme.ToLowerInvariant() + "://" + Host.ToLowerInvariant() + ":" + Port.ToString(CultureInfo.InvariantCulture) + PathBase.ToString(CultureInfo.InvariantCulture);
return Scheme.ToLowerInvariant() + "://" + Host.ToLowerInvariant() + ":" + Port.ToString(CultureInfo.InvariantCulture) + PathBase;
}
}

View File

@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Http.Internal
/// <summary>
/// A Stream that wraps another stream starting at a certain offset and reading for the given length.
/// </summary>
internal class ReferenceReadStream : Stream
internal sealed class ReferenceReadStream : Stream
{
private readonly Stream _inner;
private readonly long _innerOffset;

File diff suppressed because it is too large Load Diff

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