From 11501d49494ebce8a1fac887147d3cba623e6991 Mon Sep 17 00:00:00 2001 From: Eugene Sadocoi Date: Sun, 8 Dec 2019 11:59:35 -0800 Subject: [PATCH 1/6] Upgrading to 3.x --- ...Unity.Microsoft.DependencyInjection.csproj | 2 +- ...Microsoft.DependencyInjection.Tests.csproj | 2 +- tests/UnityDependencyInjectionTests.cs | 46 +------------------ 3 files changed, 4 insertions(+), 46 deletions(-) diff --git a/src/Unity.Microsoft.DependencyInjection.csproj b/src/Unity.Microsoft.DependencyInjection.csproj index 39ff11c..e916bca 100644 --- a/src/Unity.Microsoft.DependencyInjection.csproj +++ b/src/Unity.Microsoft.DependencyInjection.csproj @@ -51,7 +51,7 @@ - + diff --git a/tests/Unity.Microsoft.DependencyInjection.Tests.csproj b/tests/Unity.Microsoft.DependencyInjection.Tests.csproj index 4dc2e46..c616b1b 100644 --- a/tests/Unity.Microsoft.DependencyInjection.Tests.csproj +++ b/tests/Unity.Microsoft.DependencyInjection.Tests.csproj @@ -7,7 +7,7 @@ - + all diff --git a/tests/UnityDependencyInjectionTests.cs b/tests/UnityDependencyInjectionTests.cs index a2e7d00..c2ad2cf 100644 --- a/tests/UnityDependencyInjectionTests.cs +++ b/tests/UnityDependencyInjectionTests.cs @@ -15,49 +15,6 @@ protected override IServiceProvider CreateServiceProvider(IServiceCollection ser return serviceCollection.BuildServiceProvider(); } - [Fact] -#pragma warning disable xUnit1024 // Test methods cannot have overloads - public new void DisposesInReverseOrderOfCreation() -#pragma warning restore xUnit1024 // Test methods cannot have overloads - { - // Arrange - var serviceCollection = new TestServiceCollection(); - serviceCollection.AddSingleton(); - serviceCollection.AddTransient(); - serviceCollection.AddSingleton(); - serviceCollection.AddScoped(); - serviceCollection.AddTransient(); - serviceCollection.AddSingleton(); - var serviceProvider = CreateServiceProvider(serviceCollection); - - var callback = serviceProvider.GetService(); - var outer = serviceProvider.GetService(); - var multipleServices = outer.MultipleServices.ToArray(); - - // Act - ((IDisposable)serviceProvider).Dispose(); - - // Assert - Assert.Equal(outer, callback.Disposed[0]); - Assert.Equal(multipleServices.Reverse(), callback.Disposed.Skip(1).Take(3).OfType()); - Assert.Equal(outer.SingleService, callback.Disposed[4]); - } - - public class FakeDisposableCallbackOuterService : FakeDisposableCallbackService, IFakeOuterService - { - public FakeDisposableCallbackOuterService( - IFakeService singleService, - IEnumerable multipleServices, - FakeDisposeCallback callback) : base(callback) - { - SingleService = singleService; - MultipleServices = multipleServices.ToArray(); - } - - public IFakeService SingleService { get; } - public IEnumerable MultipleServices { get; } - } - [Fact] #pragma warning disable xUnit1024 // Test methods cannot have overloads public new void ResolvesMixedOpenClosedGenericsAsEnumerable() @@ -85,9 +42,10 @@ public FakeDisposableCallbackOuterService( Assert.Contains(instance, enumerable); Assert.Equal(instance, service); - //Assert.IsType(enumerable[0]); + Assert.IsType(enumerable[0]); } } + internal class TestServiceCollection : List, IServiceCollection { } From a7b2ea68f19cf9f4de151a235d34999073a8cd4d Mon Sep 17 00:00:00 2001 From: Eugene Sadocoi Date: Sun, 8 Dec 2019 12:19:57 -0800 Subject: [PATCH 2/6] Releasing 5.11.2 --- package.props | 2 +- src/Extensions/HostingExtension.cs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/package.props b/package.props index b3b523c..c481b51 100644 --- a/package.props +++ b/package.props @@ -1,7 +1,7 @@ - 5.11.1 + 5.11.2 Bug fixes, dependency updates and minor performance optimizations diff --git a/src/Extensions/HostingExtension.cs b/src/Extensions/HostingExtension.cs index cd360cd..2e278bb 100644 --- a/src/Extensions/HostingExtension.cs +++ b/src/Extensions/HostingExtension.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Hosting; namespace Unity.Microsoft.DependencyInjection { @@ -8,6 +9,18 @@ public static class HostingExtension { private static ServiceProviderFactory _factory; + + public static IHostBuilder UseUnityServiceProvider(this IHostBuilder hostBuilder, IUnityContainer container = null) + { + _factory = new ServiceProviderFactory(container); + + return hostBuilder.ConfigureServices((context, services) => + { + services.Replace(ServiceDescriptor.Singleton>(_factory)); + services.Replace(ServiceDescriptor.Singleton>(_factory)); + }); + } + public static IWebHostBuilder UseUnityServiceProvider(this IWebHostBuilder hostBuilder, IUnityContainer container = null) { _factory = new ServiceProviderFactory(container); From 4a4df3e1f45d5929555f801087f9dd9a6f990a57 Mon Sep 17 00:00:00 2001 From: Eugene Sadocoi Date: Sun, 8 Dec 2019 12:28:16 -0800 Subject: [PATCH 3/6] Releasing 5.11.3 --- package.props | 4 ++-- src/Unity.Microsoft.DependencyInjection.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.props b/package.props index c481b51..e0e30bc 100644 --- a/package.props +++ b/package.props @@ -1,8 +1,8 @@ - 5.11.2 - Bug fixes, dependency updates and minor performance optimizations + 5.11.3 + This release is competible with Core 3.1 diff --git a/src/Unity.Microsoft.DependencyInjection.csproj b/src/Unity.Microsoft.DependencyInjection.csproj index e916bca..b001bdf 100644 --- a/src/Unity.Microsoft.DependencyInjection.csproj +++ b/src/Unity.Microsoft.DependencyInjection.csproj @@ -31,7 +31,7 @@ true - netcoreapp2.2;netstandard2.0 + netcoreapp3.1;netstandard2.0 Portable From 18d96e81f35491e05a39de20f52a86a461b320b5 Mon Sep 17 00:00:00 2001 From: Eugene Sadocoi Date: Sun, 8 Dec 2019 12:31:02 -0800 Subject: [PATCH 4/6] Upgrading SDK --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index ee207f6..c4ba498 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -image: Visual Studio 2017 +image: Visual Studio 2019 configuration: Release platform: Any CPU From 1e0d4726ee576a24d55206e2121447636fa85e10 Mon Sep 17 00:00:00 2001 From: Eugene Sadocoi Date: Sun, 8 Dec 2019 12:37:44 -0800 Subject: [PATCH 5/6] Downgrading Core App version --- src/Unity.Microsoft.DependencyInjection.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Unity.Microsoft.DependencyInjection.csproj b/src/Unity.Microsoft.DependencyInjection.csproj index b001bdf..8ab9a25 100644 --- a/src/Unity.Microsoft.DependencyInjection.csproj +++ b/src/Unity.Microsoft.DependencyInjection.csproj @@ -31,7 +31,7 @@ true - netcoreapp3.1;netstandard2.0 + netcoreapp3.0;netstandard2.0 Portable From 051c3df5c183c2b78bfd60db87a213f4fa17dbbd Mon Sep 17 00:00:00 2001 From: Eugene Sadocoi Date: Sun, 8 Dec 2019 12:40:46 -0800 Subject: [PATCH 6/6] Release compatible with Core 3.0 --- package.props | 2 +- src/Unity.Microsoft.DependencyInjection.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.props b/package.props index e0e30bc..79f4423 100644 --- a/package.props +++ b/package.props @@ -2,7 +2,7 @@ 5.11.3 - This release is competible with Core 3.1 + This release is compatible with Core 3.0 diff --git a/src/Unity.Microsoft.DependencyInjection.csproj b/src/Unity.Microsoft.DependencyInjection.csproj index 8ab9a25..1f82bfd 100644 --- a/src/Unity.Microsoft.DependencyInjection.csproj +++ b/src/Unity.Microsoft.DependencyInjection.csproj @@ -51,7 +51,7 @@ - +