From db2c38a20b8730f9750282c22230c658d74a7b3b Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 14 Jan 2020 13:56:01 -0800 Subject: [PATCH 01/11] Update branding to 2.1.16 (#2842) --- eng/Baseline.Designer.props | 2 +- eng/Baseline.xml | 2 +- eng/PatchConfig.props | 2 +- version.props | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props index a3079a22487..1cbb402ce83 100644 --- a/eng/Baseline.Designer.props +++ b/eng/Baseline.Designer.props @@ -2,7 +2,7 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - 2.1.14 + 2.1.15 diff --git a/eng/Baseline.xml b/eng/Baseline.xml index eeee6457ee6..54f7ef6b536 100644 --- a/eng/Baseline.xml +++ b/eng/Baseline.xml @@ -1,4 +1,4 @@ - + diff --git a/eng/PatchConfig.props b/eng/PatchConfig.props index 800a9b211c0..3f53618504c 100644 --- a/eng/PatchConfig.props +++ b/eng/PatchConfig.props @@ -11,7 +11,7 @@ Microsoft.Extensions.Configuration.Binder; - + diff --git a/version.props b/version.props index ca5ecc28051..639dae95256 100644 --- a/version.props +++ b/version.props @@ -2,7 +2,7 @@ 2 1 - 15 + 16 servicing $(BUILD_BUILDNUMBER) From fde28467184f2a8fc1ad6a0c9172bf3fffd96872 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 15 Jan 2020 13:10:50 -0800 Subject: [PATCH 02/11] Update dependencies from https://github.com/dotnet/core-setup build 20200114.3 (#2865) - Microsoft.NETCore.App.Internal - 3.1.2-servicing.20064.3 - Microsoft.NETCore.App.Runtime.win-x64 - 3.1.2 --- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7ebc7e6fa50..06974cffe1f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -66,13 +66,13 @@ Win-x64 is used here because we have picked an arbitrary runtime identifier to flow the version of the latest NETCore.App runtime. All Runtime.$rid packages should have the same version. --> - - https://dev.azure.com/dnceng/internal/_git/dotnet-core-setup - a1388f194c30cb21b36b75982962cb5e35954e4e + + https://github.com/dotnet/core-setup + 193fb40ae0a6fb0a2ecd63cb63db0a95719dbe8d - - https://dev.azure.com/dnceng/internal/_git/dotnet-core-setup - a1388f194c30cb21b36b75982962cb5e35954e4e + + https://github.com/dotnet/core-setup + 193fb40ae0a6fb0a2ecd63cb63db0a95719dbe8d https://github.com/dotnet/corefx diff --git a/eng/Versions.props b/eng/Versions.props index 4451b25e83a..51cb4535064 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -55,8 +55,8 @@ 3.1.0 - 3.1.1 - 3.1.1-servicing.19608.4 + 3.1.2 + 3.1.2-servicing.20064.3 2.1.0 1.1.0 From b624d6ba91b9c292ff9a2aa786a575b0eaa31b4b Mon Sep 17 00:00:00 2001 From: John Luo Date: Wed, 15 Jan 2020 16:36:56 -0800 Subject: [PATCH 03/11] Remove ref project from Microsoft.AspNetCore.Testing (#2817) --- Directory.Build.props | 2 +- eng/ProjectReferences.props | 1 - ...tensions.Hosting.IntegrationTesting.csproj | 1 - ...icrosoft.Extensions.Logging.Testing.csproj | 2 +- .../ref/Microsoft.AspNetCore.Testing.csproj | 32 -- .../ref/Microsoft.AspNetCore.Testing.net46.cs | 360 ------------------ ...osoft.AspNetCore.Testing.netstandard2.0.cs | 360 ------------------ .../src/Microsoft.AspNetCore.Testing.csproj | 3 +- .../Microsoft.AspNetCore.Testing.Tests.csproj | 1 - 9 files changed, 3 insertions(+), 759 deletions(-) delete mode 100644 src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.csproj delete mode 100644 src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.net46.cs delete mode 100644 src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.netstandard2.0.cs diff --git a/Directory.Build.props b/Directory.Build.props index 5c87238691b..cd0f33227e6 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -55,7 +55,7 @@ - + diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props index 4340aa36c00..f5d77a5ec8f 100644 --- a/eng/ProjectReferences.props +++ b/eng/ProjectReferences.props @@ -56,7 +56,6 @@ - diff --git a/src/Hosting/IntegrationTesting/src/Microsoft.Extensions.Hosting.IntegrationTesting.csproj b/src/Hosting/IntegrationTesting/src/Microsoft.Extensions.Hosting.IntegrationTesting.csproj index 74e72701e30..1bc0de97a55 100644 --- a/src/Hosting/IntegrationTesting/src/Microsoft.Extensions.Hosting.IntegrationTesting.csproj +++ b/src/Hosting/IntegrationTesting/src/Microsoft.Extensions.Hosting.IntegrationTesting.csproj @@ -15,7 +15,6 @@ - diff --git a/src/Logging/Logging.Testing/src/Microsoft.Extensions.Logging.Testing.csproj b/src/Logging/Logging.Testing/src/Microsoft.Extensions.Logging.Testing.csproj index 0670cffcc90..0c07c01c103 100644 --- a/src/Logging/Logging.Testing/src/Microsoft.Extensions.Logging.Testing.csproj +++ b/src/Logging/Logging.Testing/src/Microsoft.Extensions.Logging.Testing.csproj @@ -18,7 +18,7 @@ - + diff --git a/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.csproj b/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.csproj deleted file mode 100644 index 4606a541110..00000000000 --- a/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - - netstandard2.0;net46 - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.net46.cs b/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.net46.cs deleted file mode 100644 index a7b9c07a996..00000000000 --- a/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.net46.cs +++ /dev/null @@ -1,360 +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 Microsoft.AspNetCore.Testing -{ - public partial class AspNetTestAssemblyRunner : Xunit.Sdk.XunitTestAssemblyRunner - { - public AspNetTestAssemblyRunner(Xunit.Abstractions.ITestAssembly testAssembly, System.Collections.Generic.IEnumerable testCases, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Abstractions.IMessageSink executionMessageSink, Xunit.Abstractions.ITestFrameworkExecutionOptions executionOptions) : base (default(Xunit.Abstractions.ITestAssembly), default(System.Collections.Generic.IEnumerable), default(Xunit.Abstractions.IMessageSink), default(Xunit.Abstractions.IMessageSink), default(Xunit.Abstractions.ITestFrameworkExecutionOptions)) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task AfterTestAssemblyStartingAsync() { throw null; } - protected override System.Threading.Tasks.Task BeforeTestAssemblyFinishedAsync() { throw null; } - protected override System.Threading.Tasks.Task RunTestCollectionAsync(Xunit.Sdk.IMessageBus messageBus, Xunit.Abstractions.ITestCollection testCollection, System.Collections.Generic.IEnumerable testCases, System.Threading.CancellationTokenSource cancellationTokenSource) { throw null; } - } - public partial class AspNetTestCollectionRunner : Xunit.Sdk.XunitTestCollectionRunner - { - public AspNetTestCollectionRunner(System.Collections.Generic.Dictionary assemblyFixtureMappings, Xunit.Abstractions.ITestCollection testCollection, System.Collections.Generic.IEnumerable testCases, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Sdk.IMessageBus messageBus, Xunit.Sdk.ITestCaseOrderer testCaseOrderer, Xunit.Sdk.ExceptionAggregator aggregator, System.Threading.CancellationTokenSource cancellationTokenSource) : base (default(Xunit.Abstractions.ITestCollection), default(System.Collections.Generic.IEnumerable), default(Xunit.Abstractions.IMessageSink), default(Xunit.Sdk.IMessageBus), default(Xunit.Sdk.ITestCaseOrderer), default(Xunit.Sdk.ExceptionAggregator), default(System.Threading.CancellationTokenSource)) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task AfterTestCollectionStartingAsync() { throw null; } - protected override System.Threading.Tasks.Task BeforeTestCollectionFinishedAsync() { throw null; } - protected override System.Threading.Tasks.Task RunTestClassAsync(Xunit.Abstractions.ITestClass testClass, Xunit.Abstractions.IReflectionTypeInfo @class, System.Collections.Generic.IEnumerable testCases) { throw null; } - } - public partial class AspNetTestFramework : Xunit.Sdk.XunitTestFramework - { - public AspNetTestFramework(Xunit.Abstractions.IMessageSink messageSink) : base (default(Xunit.Abstractions.IMessageSink)) { } - protected override Xunit.Abstractions.ITestFrameworkExecutor CreateExecutor(System.Reflection.AssemblyName assemblyName) { throw null; } - } - public partial class AspNetTestFrameworkExecutor : Xunit.Sdk.XunitTestFrameworkExecutor - { - public AspNetTestFrameworkExecutor(System.Reflection.AssemblyName assemblyName, Xunit.Abstractions.ISourceInformationProvider sourceInformationProvider, Xunit.Abstractions.IMessageSink diagnosticMessageSink) : base (default(System.Reflection.AssemblyName), default(Xunit.Abstractions.ISourceInformationProvider), default(Xunit.Abstractions.IMessageSink)) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override void RunTestCases(System.Collections.Generic.IEnumerable testCases, Xunit.Abstractions.IMessageSink executionMessageSink, Xunit.Abstractions.ITestFrameworkExecutionOptions executionOptions) { } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly, AllowMultiple=true)] - public partial class AssemblyFixtureAttribute : System.Attribute - { - public AssemblyFixtureAttribute(System.Type fixtureType) { } - public System.Type FixtureType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method, AllowMultiple=false)] - [Xunit.Sdk.XunitTestCaseDiscovererAttribute("Microsoft.AspNetCore.Testing.ConditionalFactDiscoverer", "Microsoft.AspNetCore.Testing")] - public partial class ConditionalFactAttribute : Xunit.FactAttribute - { - public ConditionalFactAttribute() { } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method, AllowMultiple=false)] - [Xunit.Sdk.XunitTestCaseDiscovererAttribute("Microsoft.AspNetCore.Testing.ConditionalTheoryDiscoverer", "Microsoft.AspNetCore.Testing")] - public partial class ConditionalTheoryAttribute : Xunit.TheoryAttribute - { - public ConditionalTheoryAttribute() { } - } - public partial class CultureReplacer : System.IDisposable - { - public CultureReplacer(System.Globalization.CultureInfo culture, System.Globalization.CultureInfo uiCulture) { } - public CultureReplacer(string culture = "en-GB", string uiCulture = "en-US") { } - public static System.Globalization.CultureInfo DefaultCulture { get { throw null; } } - public static string DefaultCultureName { get { throw null; } } - public static string DefaultUICultureName { get { throw null; } } - public void Dispose() { } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method, Inherited=true, AllowMultiple=false)] - public sealed partial class DockerOnlyAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public DockerOnlyAttribute() { } - public bool IsMet { get { throw null; } } - public string SkipReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true)] - public partial class EnvironmentVariableSkipConditionAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public EnvironmentVariableSkipConditionAttribute(string variableName, params string[] values) { } - public bool IsMet { get { throw null; } } - public bool RunOnMatch { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public string SkipReason { get { throw null; } } - } - public static partial class ExceptionAssert - { - public static System.ArgumentException ThrowsArgument(System.Action testCode, string paramName, string exceptionMessage) { throw null; } - public static System.Threading.Tasks.Task ThrowsArgumentAsync(System.Func testCode, string paramName, string exceptionMessage) { throw null; } - public static System.ArgumentNullException ThrowsArgumentNull(System.Action testCode, string paramName) { throw null; } - public static System.ArgumentException ThrowsArgumentNullOrEmpty(System.Action testCode, string paramName) { throw null; } - public static System.Threading.Tasks.Task ThrowsArgumentNullOrEmptyAsync(System.Func testCode, string paramName) { throw null; } - public static System.ArgumentException ThrowsArgumentNullOrEmptyString(System.Action testCode, string paramName) { throw null; } - public static System.Threading.Tasks.Task ThrowsArgumentNullOrEmptyStringAsync(System.Func testCode, string paramName) { throw null; } - public static System.ArgumentOutOfRangeException ThrowsArgumentOutOfRange(System.Action testCode, string paramName, string exceptionMessage, object actualValue = null) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task ThrowsAsync(System.Func testCode, string exceptionMessage) where TException : System.Exception { throw null; } - public static TException Throws(System.Action testCode) where TException : System.Exception { throw null; } - public static TException Throws(System.Action testCode, string exceptionMessage) where TException : System.Exception { throw null; } - public static TException Throws(System.Func testCode, string exceptionMessage) where TException : System.Exception { throw null; } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method)] - [Xunit.Sdk.TraitDiscovererAttribute("Microsoft.AspNetCore.Testing.FlakyTraitDiscoverer", "Microsoft.AspNetCore.Testing")] - public sealed partial class FlakyAttribute : System.Attribute, Xunit.Sdk.ITraitAttribute - { - public FlakyAttribute(string gitHubIssueUrl, string firstFilter, params string[] additionalFilters) { } - public System.Collections.Generic.IReadOnlyList Filters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string GitHubIssueUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - public static partial class FlakyOn - { - public const string All = "All"; - public static partial class AzP - { - public const string All = "AzP:All"; - public const string Linux = "AzP:OS:Linux"; - public const string macOS = "AzP:OS:Darwin"; - public const string Windows = "AzP:OS:Windows_NT"; - } - public static partial class Helix - { - public const string All = "Helix:Queue:All"; - public const string Centos7Amd64 = "Helix:Queue:Centos.7.Amd64.Open"; - public const string Debian8Amd64 = "Helix:Queue:Debian.8.Amd64.Open"; - public const string Debian9Amd64 = "Helix:Queue:Debian.9.Amd64.Open"; - public const string Fedora27Amd64 = "Helix:Queue:Fedora.27.Amd64.Open"; - public const string Fedora28Amd64 = "Helix:Queue:Fedora.28.Amd64.Open"; - public const string macOS1012Amd64 = "Helix:Queue:OSX.1012.Amd64.Open"; - public const string Redhat7Amd64 = "Helix:Queue:Redhat.7.Amd64.Open"; - public const string Ubuntu1604Amd64 = "Helix:Queue:Ubuntu.1604.Amd64.Open"; - public const string Ubuntu1810Amd64 = "Helix:Queue:Ubuntu.1810.Amd64.Open"; - public const string Windows10Amd64 = "Helix:Queue:Windows.10.Amd64.ClientRS4.VS2017.Open"; - } - } - public partial class FlakyTraitDiscoverer : Xunit.Sdk.ITraitDiscoverer - { - public FlakyTraitDiscoverer() { } - public System.Collections.Generic.IEnumerable> GetTraits(Xunit.Abstractions.IAttributeInfo traitAttribute) { throw null; } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method, AllowMultiple=false)] - public partial class FrameworkSkipConditionAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public FrameworkSkipConditionAttribute(Microsoft.AspNetCore.Testing.RuntimeFrameworks excludedFrameworks) { } - public bool IsMet { get { throw null; } } - public string SkipReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - } - public static partial class HelixQueues - { - public const string Centos7Amd64 = "Centos.7.Amd64.Open"; - public const string Debian8Amd64 = "Debian.8.Amd64.Open"; - public const string Debian9Amd64 = "Debian.9.Amd64.Open"; - public const string Fedora27Amd64 = "Fedora.27.Amd64.Open"; - public const string Fedora28Amd64 = "Fedora.28.Amd64.Open"; - public const string macOS1012Amd64 = "OSX.1012.Amd64.Open"; - public const string Redhat7Amd64 = "Redhat.7.Amd64.Open"; - public const string Ubuntu1604Amd64 = "Ubuntu.1604.Amd64.Open"; - public const string Ubuntu1810Amd64 = "Ubuntu.1810.Amd64.Open"; - public const string Windows10Amd64 = "Windows.10.Amd64.ClientRS4.VS2017.Open"; - } - public static partial class HttpClientSlim - { - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task GetSocket(System.Uri requestUri) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task GetStringAsync(string requestUri, bool validateCertificate = true) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task GetStringAsync(System.Uri requestUri, bool validateCertificate = true) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task PostAsync(string requestUri, System.Net.Http.HttpContent content, bool validateCertificate = true) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task PostAsync(System.Uri requestUri, System.Net.Http.HttpContent content, bool validateCertificate = true) { throw null; } - } - public partial interface ITestCondition - { - bool IsMet { get; } - string SkipReason { get; } - } - public partial interface ITestMethodLifecycle - { - System.Threading.Tasks.Task OnTestEndAsync(Microsoft.AspNetCore.Testing.TestContext context, System.Exception exception, System.Threading.CancellationToken cancellationToken); - System.Threading.Tasks.Task OnTestStartAsync(Microsoft.AspNetCore.Testing.TestContext context, System.Threading.CancellationToken cancellationToken); - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true)] - public partial class MinimumOSVersionAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public MinimumOSVersionAttribute(Microsoft.AspNetCore.Testing.OperatingSystems operatingSystem, string minVersion) { } - public bool IsMet { get { throw null; } } - public string SkipReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - } - [System.FlagsAttribute] - public enum OperatingSystems - { - Linux = 1, - MacOSX = 2, - Windows = 4, - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true)] - public partial class OSSkipConditionAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public OSSkipConditionAttribute(Microsoft.AspNetCore.Testing.OperatingSystems operatingSystem, params string[] versions) { } - public bool IsMet { get { throw null; } } - public string SkipReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false)] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public partial class RepeatAttribute : System.Attribute - { - public RepeatAttribute(int runCount = 10) { } - public int RunCount { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - public partial class RepeatContext - { - public RepeatContext(int limit) { } - public static Microsoft.AspNetCore.Testing.RepeatContext Current { get { throw null; } } - public int CurrentIteration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public int Limit { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method)] - public partial class ReplaceCultureAttribute : Xunit.Sdk.BeforeAfterTestAttribute - { - public ReplaceCultureAttribute() { } - public ReplaceCultureAttribute(string currentCulture, string currentUICulture) { } - public System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public System.Globalization.CultureInfo UICulture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public override void After(System.Reflection.MethodInfo methodUnderTest) { } - public override void Before(System.Reflection.MethodInfo methodUnderTest) { } - } - [System.FlagsAttribute] - public enum RuntimeFrameworks - { - None = 0, - Mono = 1, - CLR = 2, - CoreCLR = 4, - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class, AllowMultiple=false)] - public partial class ShortClassNameAttribute : System.Attribute - { - public ShortClassNameAttribute() { } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false)] - public partial class SkipOnCIAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public SkipOnCIAttribute(string issueUrl = "") { } - public bool IsMet { get { throw null; } } - public string IssueUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string SkipReason { get { throw null; } } - public static string GetIfOnAzdo() { throw null; } - public static string GetTargetHelixQueue() { throw null; } - public static bool OnAzdo() { throw null; } - public static bool OnCI() { throw null; } - public static bool OnHelix() { throw null; } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false)] - public partial class SkipOnHelixAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public SkipOnHelixAttribute(string issueUrl) { } - public bool IsMet { get { throw null; } } - public string IssueUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string Queues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public string SkipReason { get { throw null; } } - public static string GetTargetHelixQueue() { throw null; } - public static bool OnHelix() { throw null; } - } - public partial class SkippedTestCase : Xunit.Sdk.XunitTestCase - { - [System.ObsoleteAttribute("Called by the de-serializer; should only be called by deriving classes for de-serialization purposes")] - public SkippedTestCase() { } - public SkippedTestCase(string skipReason, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Sdk.TestMethodDisplay defaultMethodDisplay, Xunit.Sdk.TestMethodDisplayOptions defaultMethodDisplayOptions, Xunit.Abstractions.ITestMethod testMethod, object[] testMethodArguments = null) { } - public override void Deserialize(Xunit.Abstractions.IXunitSerializationInfo data) { } - protected override string GetSkipReason(Xunit.Abstractions.IAttributeInfo factAttribute) { throw null; } - public override void Serialize(Xunit.Abstractions.IXunitSerializationInfo data) { } - } - public static partial class TaskExtensions - { - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task TimeoutAfter(this System.Threading.Tasks.Task task, System.TimeSpan timeout, [System.Runtime.CompilerServices.CallerFilePathAttribute]string filePath = null, [System.Runtime.CompilerServices.CallerLineNumberAttribute]int lineNumber = 0) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task TimeoutAfter(this System.Threading.Tasks.Task task, System.TimeSpan timeout, [System.Runtime.CompilerServices.CallerFilePathAttribute]string filePath = null, [System.Runtime.CompilerServices.CallerLineNumberAttribute]int lineNumber = 0) { throw null; } - } - public sealed partial class TestContext - { - public TestContext(System.Type testClass, object[] constructorArguments, System.Reflection.MethodInfo testMethod, object[] methodArguments, Xunit.Abstractions.ITestOutputHelper output) { } - public object[] ConstructorArguments { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public Microsoft.AspNetCore.Testing.TestFileOutputContext FileOutput { get { throw null; } } - public object[] MethodArguments { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public Xunit.Abstractions.ITestOutputHelper Output { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public System.Type TestClass { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public System.Reflection.MethodInfo TestMethod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - public sealed partial class TestFileOutputContext - { - public TestFileOutputContext(Microsoft.AspNetCore.Testing.TestContext parent) { } - public string AssemblyOutputDirectory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string TestClassName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string TestClassOutputDirectory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string TestName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public static string GetAssemblyBaseDirectory(System.Reflection.Assembly assembly, string baseDirectory = null) { throw null; } - public static string GetOutputDirectory(System.Reflection.Assembly assembly) { throw null; } - public static string GetTestClassName(System.Type type) { throw null; } - public static string GetTestMethodName(System.Reflection.MethodInfo method, object[] arguments) { throw null; } - public string GetUniqueFileName(string prefix, string extension) { throw null; } - public static string RemoveIllegalFileChars(string s) { throw null; } - } - public static partial class TestMethodExtensions - { - public static string EvaluateSkipConditions(this Xunit.Abstractions.ITestMethod testMethod) { throw null; } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=true)] - public partial class TestOutputDirectoryAttribute : System.Attribute - { - public TestOutputDirectoryAttribute(string targetFramework, string baseDirectory = null) { } - public string BaseDirectory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string TargetFramework { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - [System.ObsoleteAttribute("This API is obsolete and the pattern its usage encouraged should not be used anymore. See https://github.com/aspnet/Extensions/issues/1697 for details.")] - public partial class TestPathUtilities - { - public TestPathUtilities() { } - public static string GetRepoRootDirectory() { throw null; } - public static string GetSolutionRootDirectory(string solution) { throw null; } - } - public static partial class TestPlatformHelper - { - public static bool IsLinux { get { throw null; } } - public static bool IsMac { get { throw null; } } - public static bool IsMono { get { throw null; } } - public static bool IsWindows { get { throw null; } } - } - public static partial class WindowsVersions - { - public const string Win10 = "10.0"; - public const string Win10_19H2 = "10.0.18363"; - public const string Win10_20H1 = "10.0.18990"; - public const string Win10_RS4 = "10.0.17134"; - public const string Win2008R2 = "6.1"; - public const string Win7 = "6.1"; - public const string Win8 = "6.2"; - public const string Win81 = "6.3"; - } -} -namespace Microsoft.AspNetCore.Testing.Tracing -{ - public partial class CollectingEventListener : System.Diagnostics.Tracing.EventListener - { - public CollectingEventListener() { } - public void CollectFrom(System.Diagnostics.Tracing.EventSource eventSource) { } - public void CollectFrom(string eventSourceName) { } - public System.Collections.Generic.IReadOnlyList GetEventsWritten() { throw null; } - protected override void OnEventSourceCreated(System.Diagnostics.Tracing.EventSource eventSource) { } - protected override void OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs eventData) { } - } - public partial class EventAssert - { - public EventAssert(int expectedId, string expectedName, System.Diagnostics.Tracing.EventLevel expectedLevel) { } - public static void Collection(System.Collections.Generic.IEnumerable events, params Microsoft.AspNetCore.Testing.Tracing.EventAssert[] asserts) { } - public static Microsoft.AspNetCore.Testing.Tracing.EventAssert Event(int id, string name, System.Diagnostics.Tracing.EventLevel level) { throw null; } - public Microsoft.AspNetCore.Testing.Tracing.EventAssert Payload(string name, System.Action asserter) { throw null; } - public Microsoft.AspNetCore.Testing.Tracing.EventAssert Payload(string name, object expectedValue) { throw null; } - } - [Xunit.CollectionAttribute("Microsoft.AspNetCore.Testing.Tracing.EventSourceTestCollection")] - public abstract partial class EventSourceTestBase : System.IDisposable - { - public const string CollectionName = "Microsoft.AspNetCore.Testing.Tracing.EventSourceTestCollection"; - public EventSourceTestBase() { } - protected void CollectFrom(System.Diagnostics.Tracing.EventSource eventSource) { } - protected void CollectFrom(string eventSourceName) { } - public void Dispose() { } - protected System.Collections.Generic.IReadOnlyList GetEvents() { throw null; } - } -} diff --git a/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.netstandard2.0.cs b/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.netstandard2.0.cs deleted file mode 100644 index a7b9c07a996..00000000000 --- a/src/TestingUtils/Microsoft.AspNetCore.Testing/ref/Microsoft.AspNetCore.Testing.netstandard2.0.cs +++ /dev/null @@ -1,360 +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 Microsoft.AspNetCore.Testing -{ - public partial class AspNetTestAssemblyRunner : Xunit.Sdk.XunitTestAssemblyRunner - { - public AspNetTestAssemblyRunner(Xunit.Abstractions.ITestAssembly testAssembly, System.Collections.Generic.IEnumerable testCases, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Abstractions.IMessageSink executionMessageSink, Xunit.Abstractions.ITestFrameworkExecutionOptions executionOptions) : base (default(Xunit.Abstractions.ITestAssembly), default(System.Collections.Generic.IEnumerable), default(Xunit.Abstractions.IMessageSink), default(Xunit.Abstractions.IMessageSink), default(Xunit.Abstractions.ITestFrameworkExecutionOptions)) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task AfterTestAssemblyStartingAsync() { throw null; } - protected override System.Threading.Tasks.Task BeforeTestAssemblyFinishedAsync() { throw null; } - protected override System.Threading.Tasks.Task RunTestCollectionAsync(Xunit.Sdk.IMessageBus messageBus, Xunit.Abstractions.ITestCollection testCollection, System.Collections.Generic.IEnumerable testCases, System.Threading.CancellationTokenSource cancellationTokenSource) { throw null; } - } - public partial class AspNetTestCollectionRunner : Xunit.Sdk.XunitTestCollectionRunner - { - public AspNetTestCollectionRunner(System.Collections.Generic.Dictionary assemblyFixtureMappings, Xunit.Abstractions.ITestCollection testCollection, System.Collections.Generic.IEnumerable testCases, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Sdk.IMessageBus messageBus, Xunit.Sdk.ITestCaseOrderer testCaseOrderer, Xunit.Sdk.ExceptionAggregator aggregator, System.Threading.CancellationTokenSource cancellationTokenSource) : base (default(Xunit.Abstractions.ITestCollection), default(System.Collections.Generic.IEnumerable), default(Xunit.Abstractions.IMessageSink), default(Xunit.Sdk.IMessageBus), default(Xunit.Sdk.ITestCaseOrderer), default(Xunit.Sdk.ExceptionAggregator), default(System.Threading.CancellationTokenSource)) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task AfterTestCollectionStartingAsync() { throw null; } - protected override System.Threading.Tasks.Task BeforeTestCollectionFinishedAsync() { throw null; } - protected override System.Threading.Tasks.Task RunTestClassAsync(Xunit.Abstractions.ITestClass testClass, Xunit.Abstractions.IReflectionTypeInfo @class, System.Collections.Generic.IEnumerable testCases) { throw null; } - } - public partial class AspNetTestFramework : Xunit.Sdk.XunitTestFramework - { - public AspNetTestFramework(Xunit.Abstractions.IMessageSink messageSink) : base (default(Xunit.Abstractions.IMessageSink)) { } - protected override Xunit.Abstractions.ITestFrameworkExecutor CreateExecutor(System.Reflection.AssemblyName assemblyName) { throw null; } - } - public partial class AspNetTestFrameworkExecutor : Xunit.Sdk.XunitTestFrameworkExecutor - { - public AspNetTestFrameworkExecutor(System.Reflection.AssemblyName assemblyName, Xunit.Abstractions.ISourceInformationProvider sourceInformationProvider, Xunit.Abstractions.IMessageSink diagnosticMessageSink) : base (default(System.Reflection.AssemblyName), default(Xunit.Abstractions.ISourceInformationProvider), default(Xunit.Abstractions.IMessageSink)) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override void RunTestCases(System.Collections.Generic.IEnumerable testCases, Xunit.Abstractions.IMessageSink executionMessageSink, Xunit.Abstractions.ITestFrameworkExecutionOptions executionOptions) { } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly, AllowMultiple=true)] - public partial class AssemblyFixtureAttribute : System.Attribute - { - public AssemblyFixtureAttribute(System.Type fixtureType) { } - public System.Type FixtureType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method, AllowMultiple=false)] - [Xunit.Sdk.XunitTestCaseDiscovererAttribute("Microsoft.AspNetCore.Testing.ConditionalFactDiscoverer", "Microsoft.AspNetCore.Testing")] - public partial class ConditionalFactAttribute : Xunit.FactAttribute - { - public ConditionalFactAttribute() { } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method, AllowMultiple=false)] - [Xunit.Sdk.XunitTestCaseDiscovererAttribute("Microsoft.AspNetCore.Testing.ConditionalTheoryDiscoverer", "Microsoft.AspNetCore.Testing")] - public partial class ConditionalTheoryAttribute : Xunit.TheoryAttribute - { - public ConditionalTheoryAttribute() { } - } - public partial class CultureReplacer : System.IDisposable - { - public CultureReplacer(System.Globalization.CultureInfo culture, System.Globalization.CultureInfo uiCulture) { } - public CultureReplacer(string culture = "en-GB", string uiCulture = "en-US") { } - public static System.Globalization.CultureInfo DefaultCulture { get { throw null; } } - public static string DefaultCultureName { get { throw null; } } - public static string DefaultUICultureName { get { throw null; } } - public void Dispose() { } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method, Inherited=true, AllowMultiple=false)] - public sealed partial class DockerOnlyAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public DockerOnlyAttribute() { } - public bool IsMet { get { throw null; } } - public string SkipReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true)] - public partial class EnvironmentVariableSkipConditionAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public EnvironmentVariableSkipConditionAttribute(string variableName, params string[] values) { } - public bool IsMet { get { throw null; } } - public bool RunOnMatch { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public string SkipReason { get { throw null; } } - } - public static partial class ExceptionAssert - { - public static System.ArgumentException ThrowsArgument(System.Action testCode, string paramName, string exceptionMessage) { throw null; } - public static System.Threading.Tasks.Task ThrowsArgumentAsync(System.Func testCode, string paramName, string exceptionMessage) { throw null; } - public static System.ArgumentNullException ThrowsArgumentNull(System.Action testCode, string paramName) { throw null; } - public static System.ArgumentException ThrowsArgumentNullOrEmpty(System.Action testCode, string paramName) { throw null; } - public static System.Threading.Tasks.Task ThrowsArgumentNullOrEmptyAsync(System.Func testCode, string paramName) { throw null; } - public static System.ArgumentException ThrowsArgumentNullOrEmptyString(System.Action testCode, string paramName) { throw null; } - public static System.Threading.Tasks.Task ThrowsArgumentNullOrEmptyStringAsync(System.Func testCode, string paramName) { throw null; } - public static System.ArgumentOutOfRangeException ThrowsArgumentOutOfRange(System.Action testCode, string paramName, string exceptionMessage, object actualValue = null) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task ThrowsAsync(System.Func testCode, string exceptionMessage) where TException : System.Exception { throw null; } - public static TException Throws(System.Action testCode) where TException : System.Exception { throw null; } - public static TException Throws(System.Action testCode, string exceptionMessage) where TException : System.Exception { throw null; } - public static TException Throws(System.Func testCode, string exceptionMessage) where TException : System.Exception { throw null; } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method)] - [Xunit.Sdk.TraitDiscovererAttribute("Microsoft.AspNetCore.Testing.FlakyTraitDiscoverer", "Microsoft.AspNetCore.Testing")] - public sealed partial class FlakyAttribute : System.Attribute, Xunit.Sdk.ITraitAttribute - { - public FlakyAttribute(string gitHubIssueUrl, string firstFilter, params string[] additionalFilters) { } - public System.Collections.Generic.IReadOnlyList Filters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string GitHubIssueUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - public static partial class FlakyOn - { - public const string All = "All"; - public static partial class AzP - { - public const string All = "AzP:All"; - public const string Linux = "AzP:OS:Linux"; - public const string macOS = "AzP:OS:Darwin"; - public const string Windows = "AzP:OS:Windows_NT"; - } - public static partial class Helix - { - public const string All = "Helix:Queue:All"; - public const string Centos7Amd64 = "Helix:Queue:Centos.7.Amd64.Open"; - public const string Debian8Amd64 = "Helix:Queue:Debian.8.Amd64.Open"; - public const string Debian9Amd64 = "Helix:Queue:Debian.9.Amd64.Open"; - public const string Fedora27Amd64 = "Helix:Queue:Fedora.27.Amd64.Open"; - public const string Fedora28Amd64 = "Helix:Queue:Fedora.28.Amd64.Open"; - public const string macOS1012Amd64 = "Helix:Queue:OSX.1012.Amd64.Open"; - public const string Redhat7Amd64 = "Helix:Queue:Redhat.7.Amd64.Open"; - public const string Ubuntu1604Amd64 = "Helix:Queue:Ubuntu.1604.Amd64.Open"; - public const string Ubuntu1810Amd64 = "Helix:Queue:Ubuntu.1810.Amd64.Open"; - public const string Windows10Amd64 = "Helix:Queue:Windows.10.Amd64.ClientRS4.VS2017.Open"; - } - } - public partial class FlakyTraitDiscoverer : Xunit.Sdk.ITraitDiscoverer - { - public FlakyTraitDiscoverer() { } - public System.Collections.Generic.IEnumerable> GetTraits(Xunit.Abstractions.IAttributeInfo traitAttribute) { throw null; } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method, AllowMultiple=false)] - public partial class FrameworkSkipConditionAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public FrameworkSkipConditionAttribute(Microsoft.AspNetCore.Testing.RuntimeFrameworks excludedFrameworks) { } - public bool IsMet { get { throw null; } } - public string SkipReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - } - public static partial class HelixQueues - { - public const string Centos7Amd64 = "Centos.7.Amd64.Open"; - public const string Debian8Amd64 = "Debian.8.Amd64.Open"; - public const string Debian9Amd64 = "Debian.9.Amd64.Open"; - public const string Fedora27Amd64 = "Fedora.27.Amd64.Open"; - public const string Fedora28Amd64 = "Fedora.28.Amd64.Open"; - public const string macOS1012Amd64 = "OSX.1012.Amd64.Open"; - public const string Redhat7Amd64 = "Redhat.7.Amd64.Open"; - public const string Ubuntu1604Amd64 = "Ubuntu.1604.Amd64.Open"; - public const string Ubuntu1810Amd64 = "Ubuntu.1810.Amd64.Open"; - public const string Windows10Amd64 = "Windows.10.Amd64.ClientRS4.VS2017.Open"; - } - public static partial class HttpClientSlim - { - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task GetSocket(System.Uri requestUri) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task GetStringAsync(string requestUri, bool validateCertificate = true) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task GetStringAsync(System.Uri requestUri, bool validateCertificate = true) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task PostAsync(string requestUri, System.Net.Http.HttpContent content, bool validateCertificate = true) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task PostAsync(System.Uri requestUri, System.Net.Http.HttpContent content, bool validateCertificate = true) { throw null; } - } - public partial interface ITestCondition - { - bool IsMet { get; } - string SkipReason { get; } - } - public partial interface ITestMethodLifecycle - { - System.Threading.Tasks.Task OnTestEndAsync(Microsoft.AspNetCore.Testing.TestContext context, System.Exception exception, System.Threading.CancellationToken cancellationToken); - System.Threading.Tasks.Task OnTestStartAsync(Microsoft.AspNetCore.Testing.TestContext context, System.Threading.CancellationToken cancellationToken); - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true)] - public partial class MinimumOSVersionAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public MinimumOSVersionAttribute(Microsoft.AspNetCore.Testing.OperatingSystems operatingSystem, string minVersion) { } - public bool IsMet { get { throw null; } } - public string SkipReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - } - [System.FlagsAttribute] - public enum OperatingSystems - { - Linux = 1, - MacOSX = 2, - Windows = 4, - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true)] - public partial class OSSkipConditionAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public OSSkipConditionAttribute(Microsoft.AspNetCore.Testing.OperatingSystems operatingSystem, params string[] versions) { } - public bool IsMet { get { throw null; } } - public string SkipReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false)] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public partial class RepeatAttribute : System.Attribute - { - public RepeatAttribute(int runCount = 10) { } - public int RunCount { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - public partial class RepeatContext - { - public RepeatContext(int limit) { } - public static Microsoft.AspNetCore.Testing.RepeatContext Current { get { throw null; } } - public int CurrentIteration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public int Limit { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Method)] - public partial class ReplaceCultureAttribute : Xunit.Sdk.BeforeAfterTestAttribute - { - public ReplaceCultureAttribute() { } - public ReplaceCultureAttribute(string currentCulture, string currentUICulture) { } - public System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public System.Globalization.CultureInfo UICulture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public override void After(System.Reflection.MethodInfo methodUnderTest) { } - public override void Before(System.Reflection.MethodInfo methodUnderTest) { } - } - [System.FlagsAttribute] - public enum RuntimeFrameworks - { - None = 0, - Mono = 1, - CLR = 2, - CoreCLR = 4, - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class, AllowMultiple=false)] - public partial class ShortClassNameAttribute : System.Attribute - { - public ShortClassNameAttribute() { } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false)] - public partial class SkipOnCIAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public SkipOnCIAttribute(string issueUrl = "") { } - public bool IsMet { get { throw null; } } - public string IssueUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string SkipReason { get { throw null; } } - public static string GetIfOnAzdo() { throw null; } - public static string GetTargetHelixQueue() { throw null; } - public static bool OnAzdo() { throw null; } - public static bool OnCI() { throw null; } - public static bool OnHelix() { throw null; } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false)] - public partial class SkipOnHelixAttribute : System.Attribute, Microsoft.AspNetCore.Testing.ITestCondition - { - public SkipOnHelixAttribute(string issueUrl) { } - public bool IsMet { get { throw null; } } - public string IssueUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string Queues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public string SkipReason { get { throw null; } } - public static string GetTargetHelixQueue() { throw null; } - public static bool OnHelix() { throw null; } - } - public partial class SkippedTestCase : Xunit.Sdk.XunitTestCase - { - [System.ObsoleteAttribute("Called by the de-serializer; should only be called by deriving classes for de-serialization purposes")] - public SkippedTestCase() { } - public SkippedTestCase(string skipReason, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Sdk.TestMethodDisplay defaultMethodDisplay, Xunit.Sdk.TestMethodDisplayOptions defaultMethodDisplayOptions, Xunit.Abstractions.ITestMethod testMethod, object[] testMethodArguments = null) { } - public override void Deserialize(Xunit.Abstractions.IXunitSerializationInfo data) { } - protected override string GetSkipReason(Xunit.Abstractions.IAttributeInfo factAttribute) { throw null; } - public override void Serialize(Xunit.Abstractions.IXunitSerializationInfo data) { } - } - public static partial class TaskExtensions - { - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task TimeoutAfter(this System.Threading.Tasks.Task task, System.TimeSpan timeout, [System.Runtime.CompilerServices.CallerFilePathAttribute]string filePath = null, [System.Runtime.CompilerServices.CallerLineNumberAttribute]int lineNumber = 0) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task TimeoutAfter(this System.Threading.Tasks.Task task, System.TimeSpan timeout, [System.Runtime.CompilerServices.CallerFilePathAttribute]string filePath = null, [System.Runtime.CompilerServices.CallerLineNumberAttribute]int lineNumber = 0) { throw null; } - } - public sealed partial class TestContext - { - public TestContext(System.Type testClass, object[] constructorArguments, System.Reflection.MethodInfo testMethod, object[] methodArguments, Xunit.Abstractions.ITestOutputHelper output) { } - public object[] ConstructorArguments { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public Microsoft.AspNetCore.Testing.TestFileOutputContext FileOutput { get { throw null; } } - public object[] MethodArguments { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public Xunit.Abstractions.ITestOutputHelper Output { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public System.Type TestClass { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public System.Reflection.MethodInfo TestMethod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - public sealed partial class TestFileOutputContext - { - public TestFileOutputContext(Microsoft.AspNetCore.Testing.TestContext parent) { } - public string AssemblyOutputDirectory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string TestClassName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string TestClassOutputDirectory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string TestName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public static string GetAssemblyBaseDirectory(System.Reflection.Assembly assembly, string baseDirectory = null) { throw null; } - public static string GetOutputDirectory(System.Reflection.Assembly assembly) { throw null; } - public static string GetTestClassName(System.Type type) { throw null; } - public static string GetTestMethodName(System.Reflection.MethodInfo method, object[] arguments) { throw null; } - public string GetUniqueFileName(string prefix, string extension) { throw null; } - public static string RemoveIllegalFileChars(string s) { throw null; } - } - public static partial class TestMethodExtensions - { - public static string EvaluateSkipConditions(this Xunit.Abstractions.ITestMethod testMethod) { throw null; } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=true)] - public partial class TestOutputDirectoryAttribute : System.Attribute - { - public TestOutputDirectoryAttribute(string targetFramework, string baseDirectory = null) { } - public string BaseDirectory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string TargetFramework { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } - [System.ObsoleteAttribute("This API is obsolete and the pattern its usage encouraged should not be used anymore. See https://github.com/aspnet/Extensions/issues/1697 for details.")] - public partial class TestPathUtilities - { - public TestPathUtilities() { } - public static string GetRepoRootDirectory() { throw null; } - public static string GetSolutionRootDirectory(string solution) { throw null; } - } - public static partial class TestPlatformHelper - { - public static bool IsLinux { get { throw null; } } - public static bool IsMac { get { throw null; } } - public static bool IsMono { get { throw null; } } - public static bool IsWindows { get { throw null; } } - } - public static partial class WindowsVersions - { - public const string Win10 = "10.0"; - public const string Win10_19H2 = "10.0.18363"; - public const string Win10_20H1 = "10.0.18990"; - public const string Win10_RS4 = "10.0.17134"; - public const string Win2008R2 = "6.1"; - public const string Win7 = "6.1"; - public const string Win8 = "6.2"; - public const string Win81 = "6.3"; - } -} -namespace Microsoft.AspNetCore.Testing.Tracing -{ - public partial class CollectingEventListener : System.Diagnostics.Tracing.EventListener - { - public CollectingEventListener() { } - public void CollectFrom(System.Diagnostics.Tracing.EventSource eventSource) { } - public void CollectFrom(string eventSourceName) { } - public System.Collections.Generic.IReadOnlyList GetEventsWritten() { throw null; } - protected override void OnEventSourceCreated(System.Diagnostics.Tracing.EventSource eventSource) { } - protected override void OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs eventData) { } - } - public partial class EventAssert - { - public EventAssert(int expectedId, string expectedName, System.Diagnostics.Tracing.EventLevel expectedLevel) { } - public static void Collection(System.Collections.Generic.IEnumerable events, params Microsoft.AspNetCore.Testing.Tracing.EventAssert[] asserts) { } - public static Microsoft.AspNetCore.Testing.Tracing.EventAssert Event(int id, string name, System.Diagnostics.Tracing.EventLevel level) { throw null; } - public Microsoft.AspNetCore.Testing.Tracing.EventAssert Payload(string name, System.Action asserter) { throw null; } - public Microsoft.AspNetCore.Testing.Tracing.EventAssert Payload(string name, object expectedValue) { throw null; } - } - [Xunit.CollectionAttribute("Microsoft.AspNetCore.Testing.Tracing.EventSourceTestCollection")] - public abstract partial class EventSourceTestBase : System.IDisposable - { - public const string CollectionName = "Microsoft.AspNetCore.Testing.Tracing.EventSourceTestCollection"; - public EventSourceTestBase() { } - protected void CollectFrom(System.Diagnostics.Tracing.EventSource eventSource) { } - protected void CollectFrom(string eventSourceName) { } - public void Dispose() { } - protected System.Collections.Generic.IReadOnlyList GetEvents() { throw null; } - } -} diff --git a/src/TestingUtils/Microsoft.AspNetCore.Testing/src/Microsoft.AspNetCore.Testing.csproj b/src/TestingUtils/Microsoft.AspNetCore.Testing/src/Microsoft.AspNetCore.Testing.csproj index 448351fee56..a27f74f21a1 100644 --- a/src/TestingUtils/Microsoft.AspNetCore.Testing/src/Microsoft.AspNetCore.Testing.csproj +++ b/src/TestingUtils/Microsoft.AspNetCore.Testing/src/Microsoft.AspNetCore.Testing.csproj @@ -9,10 +9,9 @@ false true - true - true true + false diff --git a/src/TestingUtils/Microsoft.AspNetCore.Testing/test/Microsoft.AspNetCore.Testing.Tests.csproj b/src/TestingUtils/Microsoft.AspNetCore.Testing/test/Microsoft.AspNetCore.Testing.Tests.csproj index 5a7366503d6..654d48dcb1d 100644 --- a/src/TestingUtils/Microsoft.AspNetCore.Testing/test/Microsoft.AspNetCore.Testing.Tests.csproj +++ b/src/TestingUtils/Microsoft.AspNetCore.Testing/test/Microsoft.AspNetCore.Testing.Tests.csproj @@ -14,7 +14,6 @@ - From 1541c04d5c680cf3c98b1d17ae9c4803f927efcd Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 15 Jan 2020 18:00:02 -0800 Subject: [PATCH 04/11] Update dependencies from https://github.com/dotnet/core-setup build 20200115.5 (#2867) - Microsoft.NETCore.App.Internal - 3.1.2-servicing.20065.5 - Microsoft.NETCore.App.Runtime.win-x64 - 3.1.2 --- NuGet.config | 1 + eng/Version.Details.xml | 6 +++--- eng/Versions.props | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/NuGet.config b/NuGet.config index 242cc58e70f..d7fe111a1fc 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,6 +3,7 @@ + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 06974cffe1f..9331ce2866e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -68,11 +68,11 @@ --> https://github.com/dotnet/core-setup - 193fb40ae0a6fb0a2ecd63cb63db0a95719dbe8d + d501d1e4c1f7c651f183287d71294fee88eb8640 - + https://github.com/dotnet/core-setup - 193fb40ae0a6fb0a2ecd63cb63db0a95719dbe8d + d501d1e4c1f7c651f183287d71294fee88eb8640 https://github.com/dotnet/corefx diff --git a/eng/Versions.props b/eng/Versions.props index 51cb4535064..63773bfc89d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -56,7 +56,7 @@ 3.1.0 3.1.2 - 3.1.2-servicing.20064.3 + 3.1.2-servicing.20065.5 2.1.0 1.1.0 From 84214a0f5dfaadc2f2224629f9fae77c3b7ad89d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 15 Jan 2020 19:41:36 -0800 Subject: [PATCH 05/11] Update dependencies from https://github.com/dotnet/core-setup build 20200115.9 (#2868) - Microsoft.NETCore.App.Internal - 3.1.2-servicing.20065.9 - Microsoft.NETCore.App.Runtime.win-x64 - 3.1.2 --- NuGet.config | 2 +- eng/Version.Details.xml | 6 +++--- eng/Versions.props | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NuGet.config b/NuGet.config index d7fe111a1fc..e1dd1522745 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,7 +3,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9331ce2866e..9a5f355891a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -68,11 +68,11 @@ --> https://github.com/dotnet/core-setup - d501d1e4c1f7c651f183287d71294fee88eb8640 + d7a6a10efb9bec0f98ed5ea5a79c84efdc666f56 - + https://github.com/dotnet/core-setup - d501d1e4c1f7c651f183287d71294fee88eb8640 + d7a6a10efb9bec0f98ed5ea5a79c84efdc666f56 https://github.com/dotnet/corefx diff --git a/eng/Versions.props b/eng/Versions.props index 63773bfc89d..fd17386aa98 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -56,7 +56,7 @@ 3.1.0 3.1.2 - 3.1.2-servicing.20065.5 + 3.1.2-servicing.20065.9 2.1.0 1.1.0 From 46214d88cd689a179b5c928077b825209423b8ac Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2020 06:56:04 -0800 Subject: [PATCH 06/11] [release/3.1] Update dependencies from dotnet/core-setup (#2869) * Update dependencies from https://github.com/dotnet/core-setup build 20200115.10 - Microsoft.NETCore.App.Internal - 3.1.2-servicing.20065.10 - Microsoft.NETCore.App.Runtime.win-x64 - 3.1.2 * Update dependencies from https://github.com/dotnet/core-setup build 20200115.12 - Microsoft.NETCore.App.Internal - 3.1.2-servicing.20065.12 - Microsoft.NETCore.App.Runtime.win-x64 - 3.1.2 * Update dependencies from https://github.com/dotnet/core-setup build 20200115.14 - Microsoft.NETCore.App.Internal - 3.1.2-servicing.20065.14 - Microsoft.NETCore.App.Runtime.win-x64 - 3.1.2 * Update dependencies from https://github.com/dotnet/core-setup build 20200116.1 - Microsoft.NETCore.App.Internal - 3.1.2-servicing.20066.1 - Microsoft.NETCore.App.Runtime.win-x64 - 3.1.2 --- NuGet.config | 2 +- eng/Version.Details.xml | 6 +++--- eng/Versions.props | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NuGet.config b/NuGet.config index e1dd1522745..cc9d0de226f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,9 +3,9 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9a5f355891a..ac28d006d85 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -68,11 +68,11 @@ --> https://github.com/dotnet/core-setup - d7a6a10efb9bec0f98ed5ea5a79c84efdc666f56 + 582ca1fbb0cb2dc7f4a6d1a60b69802b6aab592f - + https://github.com/dotnet/core-setup - d7a6a10efb9bec0f98ed5ea5a79c84efdc666f56 + 582ca1fbb0cb2dc7f4a6d1a60b69802b6aab592f https://github.com/dotnet/corefx diff --git a/eng/Versions.props b/eng/Versions.props index fd17386aa98..d461a1dbd31 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -56,7 +56,7 @@ 3.1.0 3.1.2 - 3.1.2-servicing.20065.9 + 3.1.2-servicing.20066.1 2.1.0 1.1.0 From b2165d7ef5b23442c7fa8cf7ca5ff6e7a10174df Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sun, 24 Nov 2019 14:34:58 -0800 Subject: [PATCH 07/11] Allow duplicate class to AddHttpClient Fixes: #2077 In 3.0 we introduced validation to try and prevent some cases of invalid usage on the factory that had lead to user bug reports. Unfortunately we blocked a few legitimate usage scenarios behind expections. In this case the common usage is for a library to register a typed client with `AddHttpClient(...)`. User code can then collaborate by calling the same thing, and interacting with the builder that's returned. This change explicitly allows this pattern by fine-tuning the validation. --- .../HttpClientBuilderExtensions.cs | 12 ++++- ...tFactoryServiceCollectionExtensionsTest.cs | 49 ++++++++++++++++++- 2 files changed, 57 insertions(+), 4 deletions(-) diff --git a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs index 10a1fe79e43..3f1fa5bf227 100644 --- a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs +++ b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs @@ -532,7 +532,12 @@ private static void ReserveClient(IHttpClientBuilder builder, Type type, string Debug.Assert(registry != null); // Check for same type registered twice. This can't work because typed clients have to be unique for DI to function. - if (registry.TypedClientRegistrations.TryGetValue(type, out var otherName)) + if (registry.TypedClientRegistrations.TryGetValue(type, out var otherName) && + + // Allow duplicate registrations with the same name. This is usually someone calling "AddHttpClient" once + // as part of a library, and the consumer of that library doing the same thing to add further configuration. + // See: https://github.com/aspnet/Extensions/issues/2077 + !string.Equals(name, otherName, StringComparison.Ordinal)) { var message = $"The HttpClient factory already has a registered client with the type '{type.FullName}'. " + @@ -542,7 +547,10 @@ private static void ReserveClient(IHttpClientBuilder builder, Type type, string } // Check for same name registered to two types. This won't work because we rely on named options for the configuration. - if (registry.NamedClientRegistrations.TryGetValue(name, out var otherType)) + if (registry.NamedClientRegistrations.TryGetValue(name, out var otherType) && + + // Allow registering the same name twice to the same type (see above). + type != otherType) { var message = $"The HttpClient factory already has a registered client with the name '{name}', bound to the type '{otherType.FullName}'. " + diff --git a/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs b/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs index d4e9c1fa1da..7875f4c5944 100644 --- a/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs +++ b/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs @@ -347,7 +347,52 @@ public void AddHttpClient_AddTypedClient_WithDelegate_ConfiguresNamedClient() } [Fact] - public void AddHttpClient_AddSameTypedClientTwice_ThrowsError() + public void AddHttpClient_AddSameTypedClientTwice_WithSameName_Works() + { + // Arrange + var serviceCollection = new ServiceCollection(); + serviceCollection.AddHttpClient(); + + // Act + serviceCollection.AddHttpClient(c => + { + c.BaseAddress = new Uri("http://example.com"); + }); + + var services = serviceCollection.BuildServiceProvider(); + + // Act2 + var client = services.GetRequiredService(); + + // Assert + Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); + } + + [Fact] + public void AddHttpClient_AddSameTypedClientTwice_WithSameName_WithAddTypedClient_Works() + { + // Arrange + var serviceCollection = new ServiceCollection(); + serviceCollection.AddHttpClient(); + + // Act + serviceCollection.AddHttpClient(nameof(TestTypedClient), c => + { + c.BaseAddress = new Uri("http://example.com"); + }) + .AddTypedClient(); + + var services = serviceCollection.BuildServiceProvider(); + + // Act2 + var client = services.GetRequiredService(); + + // Assert + Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); + } + + [Fact] + public void AddHttpClient_AddSameTypedClientTwice_WithDifferentNames_ThrowsError() { // Arrange var serviceCollection = new ServiceCollection(); @@ -365,7 +410,7 @@ public void AddHttpClient_AddSameTypedClientTwice_ThrowsError() } [Fact] - public void AddHttpClient_AddSameTypedClientTwice_WithAddTypedClient_ThrowsError() + public void AddHttpClient_AddSameTypedClientTwice_WithDifferentNames_WithAddTypedClient_ThrowsError() { // Arrange var serviceCollection = new ServiceCollection(); From f198c4653a310e4d9957cc37a22a649ef020e69e Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sun, 24 Nov 2019 15:05:46 -0800 Subject: [PATCH 08/11] Allow multiple types to be registered for one name Fixes: aspnet/AspNetCore#13346 In 3.0 we added validation to try and report exceptions for some common HttClient factory usage mistakes in the registration code. Unfortunately we blocked from legitimate usage cases. In this case, users are blocked from associating multiple types with the same logical 'name'. Ex: ```C# services.AddHttpClient("Foo").AddTypedClient().AddTypedClient(); ``` This is useful and should be allowed because it's a good way to DRY up configuration code. ---- This change relaxes the validation when `AddTypedClient` is called, but not when `AddHttpClient` is called without supplying a name. We still want to block cases like the following: ```C# services.AddHttpClient(); services.AddHttpClient(); ``` The type short name is used as the logical name for the client (named options) so usage like this is always a bug. --- .../HttpClientBuilderExtensions.cs | 48 +++++++- ...lientFactoryServiceCollectionExtensions.cs | 24 ++-- ...tFactoryServiceCollectionExtensionsTest.cs | 106 +++++++++++++++--- 3 files changed, 143 insertions(+), 35 deletions(-) diff --git a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs index 3f1fa5bf227..268c1693cd0 100644 --- a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs +++ b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs @@ -323,7 +323,13 @@ public static IHttpClientBuilder AddTypedClient(this IHttpClientBuilder throw new ArgumentNullException(nameof(builder)); } - ReserveClient(builder, typeof(TClient), builder.Name); + return AddTypedClientCore(builder, validateSingleType: false); + } + + internal static IHttpClientBuilder AddTypedClientCore(this IHttpClientBuilder builder, bool validateSingleType) + where TClient : class + { + ReserveClient(builder, typeof(TClient), builder.Name, validateSingleType); builder.Services.AddTransient(s => { @@ -377,7 +383,14 @@ public static IHttpClientBuilder AddTypedClient(this I throw new ArgumentNullException(nameof(builder)); } - ReserveClient(builder, typeof(TClient), builder.Name); + return AddTypedClientCore(builder, validateSingleType: false); + } + + internal static IHttpClientBuilder AddTypedClientCore(this IHttpClientBuilder builder, bool validateSingleType) + where TClient : class + where TImplementation : class, TClient + { + ReserveClient(builder, typeof(TClient), builder.Name, validateSingleType); builder.Services.AddTransient(s => { @@ -425,7 +438,13 @@ public static IHttpClientBuilder AddTypedClient(this IHttpClientBuilder throw new ArgumentNullException(nameof(factory)); } - ReserveClient(builder, typeof(TClient), builder.Name); + return AddTypedClientCore(builder, factory, validateSingleType: false); + } + + internal static IHttpClientBuilder AddTypedClientCore(this IHttpClientBuilder builder, Func factory, bool validateSingleType) + where TClient : class + { + ReserveClient(builder, typeof(TClient), builder.Name, validateSingleType); builder.Services.AddTransient(s => { @@ -472,7 +491,23 @@ public static IHttpClientBuilder AddTypedClient(this IHttpClientBuilder throw new ArgumentNullException(nameof(factory)); } - ReserveClient(builder, typeof(TClient), builder.Name); + return AddTypedClientCore(builder, factory, validateSingleType: false); + } + + internal static IHttpClientBuilder AddTypedClientCore(this IHttpClientBuilder builder, Func factory, bool validateSingleType) + where TClient : class + { + if (builder == null) + { + throw new ArgumentNullException(nameof(builder)); + } + + if (factory == null) + { + throw new ArgumentNullException(nameof(factory)); + } + + ReserveClient(builder, typeof(TClient), builder.Name, validateSingleType); builder.Services.AddTransient(s => { @@ -526,7 +561,7 @@ public static IHttpClientBuilder SetHandlerLifetime(this IHttpClientBuilder buil } // See comments on HttpClientMappingRegistry. - private static void ReserveClient(IHttpClientBuilder builder, Type type, string name) + private static void ReserveClient(IHttpClientBuilder builder, Type type, string name, bool validateSingleType) { var registry = (HttpClientMappingRegistry)builder.Services.Single(sd => sd.ServiceType == typeof(HttpClientMappingRegistry)).ImplementationInstance; Debug.Assert(registry != null); @@ -549,6 +584,9 @@ private static void ReserveClient(IHttpClientBuilder builder, Type type, string // Check for same name registered to two types. This won't work because we rely on named options for the configuration. if (registry.NamedClientRegistrations.TryGetValue(name, out var otherType) && + // Allow using the same name with multiple types in some cases (see callers). + validateSingleType && + // Allow registering the same name twice to the same type (see above). type != otherType) { diff --git a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientFactoryServiceCollectionExtensions.cs b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientFactoryServiceCollectionExtensions.cs index 43105a78703..45ebf011b33 100644 --- a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientFactoryServiceCollectionExtensions.cs +++ b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientFactoryServiceCollectionExtensions.cs @@ -204,7 +204,7 @@ public static IHttpClientBuilder AddHttpClient(this IServiceCollection var name = TypeNameHelper.GetTypeDisplayName(typeof(TClient), fullName: false); var builder = new DefaultHttpClientBuilder(services, name); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: true); return builder; } @@ -247,7 +247,7 @@ public static IHttpClientBuilder AddHttpClient(this IS var name = TypeNameHelper.GetTypeDisplayName(typeof(TClient), fullName: false); var builder = new DefaultHttpClientBuilder(services, name); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: true); return builder; } @@ -292,7 +292,7 @@ public static IHttpClientBuilder AddHttpClient(this IServiceCollection AddHttpClient(services); var builder = new DefaultHttpClientBuilder(services, name); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: false); // Name was explicitly provided. return builder; } @@ -343,7 +343,7 @@ public static IHttpClientBuilder AddHttpClient(this IS AddHttpClient(services); var builder = new DefaultHttpClientBuilder(services, name); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: false); // name was explicitly provided return builder; } @@ -388,7 +388,7 @@ public static IHttpClientBuilder AddHttpClient(this IServiceCollection var name = TypeNameHelper.GetTypeDisplayName(typeof(TClient), fullName: false); var builder = new DefaultHttpClientBuilder(services, name); builder.ConfigureHttpClient(configureClient); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: true); return builder; } @@ -433,7 +433,7 @@ public static IHttpClientBuilder AddHttpClient(this IServiceCollection var name = TypeNameHelper.GetTypeDisplayName(typeof(TClient), fullName: false); var builder = new DefaultHttpClientBuilder(services, name); builder.ConfigureHttpClient(configureClient); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: true); return builder; } @@ -483,7 +483,7 @@ public static IHttpClientBuilder AddHttpClient(this IS var name = TypeNameHelper.GetTypeDisplayName(typeof(TClient), fullName: false); var builder = new DefaultHttpClientBuilder(services, name); builder.ConfigureHttpClient(configureClient); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: true); return builder; } @@ -533,7 +533,7 @@ public static IHttpClientBuilder AddHttpClient(this IS var name = TypeNameHelper.GetTypeDisplayName(typeof(TClient), fullName: false); var builder = new DefaultHttpClientBuilder(services, name); builder.ConfigureHttpClient(configureClient); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: true); return builder; } @@ -585,7 +585,7 @@ public static IHttpClientBuilder AddHttpClient(this IServiceCollection var builder = new DefaultHttpClientBuilder(services, name); builder.ConfigureHttpClient(configureClient); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: false); // name was explicitly provided return builder; } @@ -637,7 +637,7 @@ public static IHttpClientBuilder AddHttpClient(this IServiceCollection var builder = new DefaultHttpClientBuilder(services, name); builder.ConfigureHttpClient(configureClient); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: false); // name was explictly provided return builder; } @@ -694,7 +694,7 @@ public static IHttpClientBuilder AddHttpClient(this IS var builder = new DefaultHttpClientBuilder(services, name); builder.ConfigureHttpClient(configureClient); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: false); // name was explicitly provided return builder; } @@ -751,7 +751,7 @@ public static IHttpClientBuilder AddHttpClient(this IS var builder = new DefaultHttpClientBuilder(services, name); builder.ConfigureHttpClient(configureClient); - builder.AddTypedClient(); + builder.AddTypedClientCore(validateSingleType: false); // name was explicitly provided return builder; } } diff --git a/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs b/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs index 7875f4c5944..a5c07b9b678 100644 --- a/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs +++ b/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs @@ -28,7 +28,7 @@ public void AddHttpClient_IsSelfContained_CanCreateClient() var serviceCollection = new ServiceCollection(); // Act1 - serviceCollection.AddHttpClient(); + serviceCollection.AddHttpClient(); var services = serviceCollection.BuildServiceProvider(); var options = services.GetRequiredService>(); @@ -446,21 +446,88 @@ public void AddHttpClient_AddSameNameWithTypedClientTwice_ThrowsError() } [Fact] - public void AddHttpClient_AddSameNameWithTypedClientTwice_WithAddTypedClient_ThrowsError() + public void AddHttpClient_AddSameNameWithTypedClientTwice_WithAddTypedClient_IsAllowed() { // Arrange var serviceCollection = new ServiceCollection(); - serviceCollection.AddHttpClient(); + serviceCollection.AddHttpClient(c => + { + c.BaseAddress = new Uri("http://example.com"); + }); // Act - var ex = Assert.Throws(() => serviceCollection.AddHttpClient("TestTypedClient").AddTypedClient()); + serviceCollection.AddHttpClient("TestTypedClient").AddTypedClient(); + + var services = serviceCollection.BuildServiceProvider(); + + // Act + var client = services.GetRequiredService(); // Assert - Assert.Equal( - "The HttpClient factory already has a registered client with the name 'TestTypedClient', bound to the type 'Microsoft.Extensions.Http.TestTypedClient'. " + - "Client names are computed based on the type name without considering the namespace ('TestTypedClient'). " + - "Use an overload of AddHttpClient that accepts a string and provide a unique name to resolve the conflict.", - ex.Message); + Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); + + // Act + var client2 = services.GetRequiredService(); + + // Assert + Assert.Equal("http://example.com/", client2.HttpClient.BaseAddress.AbsoluteUri); + } + + [Fact] + public void AddHttpClient_AddSameNameWithTypedClientTwice_WithExplicitName_IsAllowed() + { + // Arrange + var serviceCollection = new ServiceCollection(); + serviceCollection.AddHttpClient(c => + { + c.BaseAddress = new Uri("http://example.com"); + }); + + // Act + serviceCollection.AddHttpClient("TestTypedClient"); + + var services = serviceCollection.BuildServiceProvider(); + + // Act + var client = services.GetRequiredService(); + + // Assert + Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); + + // Act + var client2 = services.GetRequiredService(); + + // Assert + Assert.Equal("http://example.com/", client2.HttpClient.BaseAddress.AbsoluteUri); + } + + [Fact] + public void AddHttpClient_RegisteringMultipleTypes_WithAddTypedClient_IsAllowed() + { + // Arrange + var serviceCollection = new ServiceCollection(); + + // Act + serviceCollection.AddHttpClient("Test", c => + { + c.BaseAddress = new Uri("http://example.com"); + }) + .AddTypedClient() + .AddTypedClient(); + + var services = serviceCollection.BuildServiceProvider(); + + // Act + var client = services.GetRequiredService(); + + // Assert + Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); + + // Act + var client2 = services.GetRequiredService(); + + // Assert + Assert.Equal("http://example.com/", client2.HttpClient.BaseAddress.AbsoluteUri); } [Fact] @@ -475,7 +542,7 @@ public void AddHttpClient_AddTypedClient_WithServiceDelegate_ConfiguresNamedClie }); // Act - serviceCollection.AddHttpClient("test").AddTypedClient((c,s) => + serviceCollection.AddHttpClient("test").AddTypedClient((c, s) => { Assert.Equal("http://example.com/", c.BaseAddress.AbsoluteUri); c.BaseAddress = new Uri("http://example2.com"); @@ -564,7 +631,7 @@ public void AddHttpClient_WithTypedClient_AndServiceDelegate_ConfiguresClient() }); // Act1 - serviceCollection.AddHttpClient((s,c) => + serviceCollection.AddHttpClient((s, c) => { var options = s.GetRequiredService>(); c.BaseAddress = new Uri(options.Value.BaseAddress); @@ -574,7 +641,7 @@ public void AddHttpClient_WithTypedClient_AndServiceDelegate_ConfiguresClient() // Act2 var client = services.GetRequiredService(); - + // Assert Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); } @@ -591,7 +658,7 @@ public void AddHttpClient_WithTypedClientAndImplementation_AndServiceDelegate_Co }); // Act1 - serviceCollection.AddHttpClient((s,c) => + serviceCollection.AddHttpClient((s, c) => { var options = s.GetRequiredService>(); c.BaseAddress = new Uri(options.Value.BaseAddress); @@ -601,7 +668,7 @@ public void AddHttpClient_WithTypedClientAndImplementation_AndServiceDelegate_Co // Act2 var client = services.GetRequiredService(); - + // Assert Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); } @@ -618,7 +685,7 @@ public void AddHttpClient_WithTypedClient_AndServiceDelegate_ConfiguresNamedClie }); // Act1 - serviceCollection.AddHttpClient("test", (s,c) => + serviceCollection.AddHttpClient("test", (s, c) => { var options = s.GetRequiredService>(); c.BaseAddress = new Uri(options.Value.BaseAddress); @@ -628,7 +695,7 @@ public void AddHttpClient_WithTypedClient_AndServiceDelegate_ConfiguresNamedClie // Act2 var client = services.GetRequiredService(); - + // Assert Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); } @@ -645,7 +712,7 @@ public void AddHttpClient_WithTypedClientAndImplementation_AndServiceDelegate_Co }); // Act1 - serviceCollection.AddHttpClient("test", (s,c) => + serviceCollection.AddHttpClient("test", (s, c) => { var options = s.GetRequiredService>(); c.BaseAddress = new Uri(options.Value.BaseAddress); @@ -655,7 +722,7 @@ public void AddHttpClient_WithTypedClientAndImplementation_AndServiceDelegate_Co // Act2 var client = services.GetRequiredService(); - + // Assert Assert.Equal("http://example.com/", client.HttpClient.BaseAddress.AbsoluteUri); } @@ -1171,6 +1238,9 @@ public class TestTypedClient { public TestTypedClient(HttpClient httpClient) { + HttpClient = httpClient; } + + public HttpClient HttpClient { get; } } } From 9c9ac5965adac3bef161317b239cc1c82f3c1f37 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 16 Jan 2020 08:16:36 -0800 Subject: [PATCH 09/11] WIP --- .../HttpClientBuilderExtensions.cs | 23 ++++--------------- .../HttpClientMappingRegistry.cs | 2 -- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs index 268c1693cd0..d4e97d92fed 100644 --- a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs +++ b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientBuilderExtensions.cs @@ -566,28 +566,13 @@ private static void ReserveClient(IHttpClientBuilder builder, Type type, string var registry = (HttpClientMappingRegistry)builder.Services.Single(sd => sd.ServiceType == typeof(HttpClientMappingRegistry)).ImplementationInstance; Debug.Assert(registry != null); - // Check for same type registered twice. This can't work because typed clients have to be unique for DI to function. - if (registry.TypedClientRegistrations.TryGetValue(type, out var otherName) && - - // Allow duplicate registrations with the same name. This is usually someone calling "AddHttpClient" once - // as part of a library, and the consumer of that library doing the same thing to add further configuration. - // See: https://github.com/aspnet/Extensions/issues/2077 - !string.Equals(name, otherName, StringComparison.Ordinal)) - { - var message = - $"The HttpClient factory already has a registered client with the type '{type.FullName}'. " + - $"Client types must be unique. " + - $"Consider using inheritance to create multiple unique types with the same API surface."; - throw new InvalidOperationException(message); - } - // Check for same name registered to two types. This won't work because we rely on named options for the configuration. if (registry.NamedClientRegistrations.TryGetValue(name, out var otherType) && // Allow using the same name with multiple types in some cases (see callers). validateSingleType && - // Allow registering the same name twice to the same type (see above). + // Allow registering the same name twice to the same type. type != otherType) { var message = @@ -597,8 +582,10 @@ private static void ReserveClient(IHttpClientBuilder builder, Type type, string throw new InvalidOperationException(message); } - registry.TypedClientRegistrations[type] = name; - registry.NamedClientRegistrations[name] = type; + if (validateSingleType) + { + registry.NamedClientRegistrations[name] = type; + } } } } diff --git a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientMappingRegistry.cs b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientMappingRegistry.cs index c3fcf462a79..ce809af768f 100644 --- a/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientMappingRegistry.cs +++ b/src/HttpClientFactory/Http/src/DependencyInjection/HttpClientMappingRegistry.cs @@ -13,8 +13,6 @@ namespace Microsoft.Extensions.DependencyInjection // See: https://github.com/aspnet/Extensions/issues/960 internal class HttpClientMappingRegistry { - public Dictionary TypedClientRegistrations { get; } = new Dictionary(); - public Dictionary NamedClientRegistrations { get; } = new Dictionary(); } } From edcf5f2859b8a94c82df5c03930f9854828e9dac Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 16 Jan 2020 08:36:56 -0800 Subject: [PATCH 10/11] All duplicates of the same type with different names Also reported as part of #2077 In this pattern users register many instances of the same client with different configurations, and multiplex between them in a round-robin fashion. --- ...tFactoryServiceCollectionExtensionsTest.cs | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs b/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs index a5c07b9b678..02849a87b3b 100644 --- a/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs +++ b/src/HttpClientFactory/Http/test/DependencyInjection/HttpClientFactoryServiceCollectionExtensionsTest.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.Linq; using System.Net; using System.Net.Http; using System.Threading; @@ -392,39 +393,37 @@ public void AddHttpClient_AddSameTypedClientTwice_WithSameName_WithAddTypedClien } [Fact] - public void AddHttpClient_AddSameTypedClientTwice_WithDifferentNames_ThrowsError() + public void AddHttpClient_AddSameTypedClientTwice_WithDifferentNames_IsAllowed() { // Arrange var serviceCollection = new ServiceCollection(); - serviceCollection.AddHttpClient(); + serviceCollection.AddHttpClient("Test1"); + serviceCollection.AddHttpClient("Test2"); + + var services = serviceCollection.BuildServiceProvider(); // Act - var ex = Assert.Throws(() => serviceCollection.AddHttpClient("Test")); + var clients = services.GetRequiredService>(); // Assert - Assert.Equal( - "The HttpClient factory already has a registered client with the type 'Microsoft.Extensions.Http.TestTypedClient'. " + - "Client types must be unique. " + - "Consider using inheritance to create multiple unique types with the same API surface.", - ex.Message); + Assert.Equal(2, clients.Count()); } [Fact] - public void AddHttpClient_AddSameTypedClientTwice_WithDifferentNames_WithAddTypedClient_ThrowsError() + public void AddHttpClient_AddSameTypedClientTwice_WithDifferentNames_WithAddTypedClient_IsAllowed() { // Arrange var serviceCollection = new ServiceCollection(); serviceCollection.AddHttpClient(); + serviceCollection.AddHttpClient("Test").AddTypedClient(); + + var services = serviceCollection.BuildServiceProvider(); // Act - var ex = Assert.Throws(() => serviceCollection.AddHttpClient("Test").AddTypedClient()); + var clients = services.GetRequiredService>(); // Assert - Assert.Equal( - "The HttpClient factory already has a registered client with the type 'Microsoft.Extensions.Http.TestTypedClient'. " + - "Client types must be unique. " + - "Consider using inheritance to create multiple unique types with the same API surface.", - ex.Message); + Assert.Equal(2, clients.Count()); } [Fact] From 259a64a7de6067af9a4390d222bad289ec795b43 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2020 19:24:12 +0000 Subject: [PATCH 11/11] Update dependencies from https://github.com/dotnet/runtime build 20200115.4 (#2871) - NETStandard.Library.Ref - 2.1.0-alpha.1.20065.4 - Microsoft.NETCore.App.Internal - 5.0.0-alpha.1.20065.4 - Microsoft.NETCore.App.Ref - 5.0.0-alpha.1.20065.4 - Microsoft.NETCore.App.Runtime.win-x64 - 5.0.0-alpha.1.20065.4 Dependency coherency updates - Microsoft.Win32.Registry - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.ComponentModel.Annotations - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.Diagnostics.DiagnosticSource - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.Diagnostics.EventLog - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.IO.Pipelines - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.Reflection.Metadata - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.Runtime.CompilerServices.Unsafe - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.Security.Cryptography.Cng - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.Security.Cryptography.Xml - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.ServiceProcess.ServiceController - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.Text.Encodings.Web - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - System.Text.Json - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) - Microsoft.NETCore.Platforms - 5.0.0-alpha.1.20065.4 (parent: Microsoft.NETCore.App.Runtime.win-x64) --- eng/Version.Details.xml | 68 ++++++++++++++++++++--------------------- eng/Versions.props | 34 ++++++++++----------- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 74bceb7221f..48175e9ca66 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -10,73 +10,73 @@ --> - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 https://github.com/dotnet/corefx @@ -96,9 +96,9 @@ https://github.com/dotnet/arcade 250782df013aa8586e21bb225f8efd715372dcf1 - + https://github.com/dotnet/runtime - f57d49bb711fda8ac0bd231229d91919f4fca8e8 + 5c9338e09ad0a2f282c3dd14b0cc06aab37887a0 https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index c3844def76c..cd301920684 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -55,26 +55,26 @@ --> - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 2.1.0-alpha.1.20064.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 2.1.0-alpha.1.20065.4 1.0.0 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 - 5.0.0-alpha.1.20064.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 + 5.0.0-alpha.1.20065.4 - 5.0.0-alpha.1.20064.4 + 5.0.0-alpha.1.20065.4 5.0.0-beta.20062.1