Skip to content

Commit 62baf7f

Browse files
authored
Release/5.11 (#65)
* Upgrading to 3.x * Releasing 5.11.2
1 parent 3b4b03c commit 62baf7f

5 files changed

+18
-47
lines changed

package.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22

33
<PropertyGroup>
4-
<Version>5.11.1</Version>
4+
<Version>5.11.2</Version>
55
<PackageReleaseNotes>Bug fixes, dependency updates and minor performance optimizations </PackageReleaseNotes>
66
</PropertyGroup>
77

src/Extensions/HostingExtension.cs

+13
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,26 @@
11
using Microsoft.AspNetCore.Hosting;
22
using Microsoft.Extensions.DependencyInjection;
33
using Microsoft.Extensions.DependencyInjection.Extensions;
4+
using Microsoft.Extensions.Hosting;
45

56
namespace Unity.Microsoft.DependencyInjection
67
{
78
public static class HostingExtension
89
{
910
private static ServiceProviderFactory _factory;
1011

12+
13+
public static IHostBuilder UseUnityServiceProvider(this IHostBuilder hostBuilder, IUnityContainer container = null)
14+
{
15+
_factory = new ServiceProviderFactory(container);
16+
17+
return hostBuilder.ConfigureServices((context, services) =>
18+
{
19+
services.Replace(ServiceDescriptor.Singleton<IServiceProviderFactory<IUnityContainer>>(_factory));
20+
services.Replace(ServiceDescriptor.Singleton<IServiceProviderFactory<IServiceCollection>>(_factory));
21+
});
22+
}
23+
1124
public static IWebHostBuilder UseUnityServiceProvider(this IWebHostBuilder hostBuilder, IUnityContainer container = null)
1225
{
1326
_factory = new ServiceProviderFactory(container);

src/Unity.Microsoft.DependencyInjection.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
<ItemGroup>
5353
<PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="2.2.0" />
54-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.2.0" />
54+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.0" />
5555
</ItemGroup>
5656

5757
<!-- Sourcelink -->

tests/Unity.Microsoft.DependencyInjection.Tests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Specification.Tests" Version="2.2.0" />
10+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Specification.Tests" Version="3.1.0" />
1111
<PackageReference Include="xunit" Version="2.4.1" />
1212
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
1313
<PrivateAssets>all</PrivateAssets>

tests/UnityDependencyInjectionTests.cs

+2-44
Original file line numberDiff line numberDiff line change
@@ -15,49 +15,6 @@ protected override IServiceProvider CreateServiceProvider(IServiceCollection ser
1515
return serviceCollection.BuildServiceProvider();
1616
}
1717

18-
[Fact]
19-
#pragma warning disable xUnit1024 // Test methods cannot have overloads
20-
public new void DisposesInReverseOrderOfCreation()
21-
#pragma warning restore xUnit1024 // Test methods cannot have overloads
22-
{
23-
// Arrange
24-
var serviceCollection = new TestServiceCollection();
25-
serviceCollection.AddSingleton<FakeDisposeCallback>();
26-
serviceCollection.AddTransient<IFakeOuterService, FakeDisposableCallbackOuterService>();
27-
serviceCollection.AddSingleton<IFakeMultipleService, FakeDisposableCallbackInnerService>();
28-
serviceCollection.AddScoped<IFakeMultipleService, FakeDisposableCallbackInnerService>();
29-
serviceCollection.AddTransient<IFakeMultipleService, FakeDisposableCallbackInnerService>();
30-
serviceCollection.AddSingleton<IFakeService, FakeDisposableCallbackInnerService>();
31-
var serviceProvider = CreateServiceProvider(serviceCollection);
32-
33-
var callback = serviceProvider.GetService<FakeDisposeCallback>();
34-
var outer = serviceProvider.GetService<IFakeOuterService>();
35-
var multipleServices = outer.MultipleServices.ToArray();
36-
37-
// Act
38-
((IDisposable)serviceProvider).Dispose();
39-
40-
// Assert
41-
Assert.Equal(outer, callback.Disposed[0]);
42-
Assert.Equal(multipleServices.Reverse(), callback.Disposed.Skip(1).Take(3).OfType<IFakeMultipleService>());
43-
Assert.Equal(outer.SingleService, callback.Disposed[4]);
44-
}
45-
46-
public class FakeDisposableCallbackOuterService : FakeDisposableCallbackService, IFakeOuterService
47-
{
48-
public FakeDisposableCallbackOuterService(
49-
IFakeService singleService,
50-
IEnumerable<IFakeMultipleService> multipleServices,
51-
FakeDisposeCallback callback) : base(callback)
52-
{
53-
SingleService = singleService;
54-
MultipleServices = multipleServices.ToArray();
55-
}
56-
57-
public IFakeService SingleService { get; }
58-
public IEnumerable<IFakeMultipleService> MultipleServices { get; }
59-
}
60-
6118
[Fact]
6219
#pragma warning disable xUnit1024 // Test methods cannot have overloads
6320
public new void ResolvesMixedOpenClosedGenericsAsEnumerable()
@@ -85,9 +42,10 @@ public FakeDisposableCallbackOuterService(
8542

8643
Assert.Contains(instance, enumerable);
8744
Assert.Equal(instance, service);
88-
//Assert.IsType<FakeService>(enumerable[0]);
45+
Assert.IsType<FakeService>(enumerable[0]);
8946
}
9047
}
48+
9149
internal class TestServiceCollection : List<ServiceDescriptor>, IServiceCollection
9250
{
9351
}

0 commit comments

Comments
 (0)