diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index f3ed581..a5f8538 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -3,9 +3,8 @@
"bierner.markdown-emoji",
"davidanson.vscode-markdownlint",
"editorconfig.editorconfig",
- "formulahendry.dotnet-test-explorer",
"gruntfuggly.todo-tree",
- "ms-dotnettools.csharp",
+ "ms-dotnettools.csdevkit",
"ryanluker.vscode-coverage-gutters",
"stkb.rewrap",
"travisillig.vscode-json-stable-stringify"
diff --git a/appveyor.yml b/appveyor.yml
index 03fb21c..063e10c 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,9 +1,9 @@
image: Ubuntu
-version: '8.0.1.{build}'
+version: '8.0.2.{build}'
dotnet_csproj:
- version_prefix: '8.0.1'
+ version_prefix: '8.0.2'
patch: true
file: 'src\**\*.csproj'
diff --git a/src/Autofac.Multitenant/ITenantIdentificationStrategy.cs b/src/Autofac.Multitenant/ITenantIdentificationStrategy.cs
index 413e341..74fe6ba 100644
--- a/src/Autofac.Multitenant/ITenantIdentificationStrategy.cs
+++ b/src/Autofac.Multitenant/ITenantIdentificationStrategy.cs
@@ -20,5 +20,5 @@ public interface ITenantIdentificationStrategy
/// if not.
///
[SuppressMessage("Microsoft.Design", "CA1007:UseGenericsWhereAppropriate", Justification = "Tenant identifiers are objects.")]
- bool TryIdentifyTenant(out object tenantId);
+ bool TryIdentifyTenant(out object? tenantId);
}
diff --git a/src/Autofac.Multitenant/MultitenantContainer.cs b/src/Autofac.Multitenant/MultitenantContainer.cs
index aa05932..6dbf328 100644
--- a/src/Autofac.Multitenant/MultitenantContainer.cs
+++ b/src/Autofac.Multitenant/MultitenantContainer.cs
@@ -320,7 +320,7 @@ public ILifetimeScope BeginLoadContextLifetimeScope(object tag, AssemblyLoadCont
///
///
///
- public void ConfigureTenant(object tenantId, Action configuration)
+ public void ConfigureTenant(object? tenantId, Action configuration)
{
if (configuration == null)
{
diff --git a/src/Autofac.Multitenant/TenantIdentificationStrategyExtensions.cs b/src/Autofac.Multitenant/TenantIdentificationStrategyExtensions.cs
index 2937f03..52d4124 100644
--- a/src/Autofac.Multitenant/TenantIdentificationStrategyExtensions.cs
+++ b/src/Autofac.Multitenant/TenantIdentificationStrategyExtensions.cs
@@ -31,9 +31,9 @@ public static class TenantIdentificationStrategyExtensions
throw new ArgumentNullException(nameof(strategy));
}
- if (strategy.TryIdentifyTenant(out object id))
+ if (strategy.TryIdentifyTenant(out var id))
{
- return (T)id;
+ return (T?)id;
}
return default;
diff --git a/test/Autofac.Multitenant.AspNetCore.Test/Autofac.Multitenant.AspNetCore.Test.csproj b/test/Autofac.Multitenant.AspNetCore.Test/Autofac.Multitenant.AspNetCore.Test.csproj
index 2c4ec9d..05e2a72 100644
--- a/test/Autofac.Multitenant.AspNetCore.Test/Autofac.Multitenant.AspNetCore.Test.csproj
+++ b/test/Autofac.Multitenant.AspNetCore.Test/Autofac.Multitenant.AspNetCore.Test.csproj
@@ -12,6 +12,7 @@
latest
AllEnabledByDefault
enable
+ enable
@@ -29,22 +30,22 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
all
runtime; build; native; contentfiles; analyzers
diff --git a/test/Autofac.Multitenant.AspNetCore.Test/Stubs/StubTenantIdentificationStrategy.cs b/test/Autofac.Multitenant.AspNetCore.Test/Stubs/StubTenantIdentificationStrategy.cs
index d18257e..77caa9a 100644
--- a/test/Autofac.Multitenant.AspNetCore.Test/Stubs/StubTenantIdentificationStrategy.cs
+++ b/test/Autofac.Multitenant.AspNetCore.Test/Stubs/StubTenantIdentificationStrategy.cs
@@ -12,9 +12,9 @@ public StubTenantIdentificationStrategy()
public bool IdentificationSuccess { get; set; }
- public object TenantId { get; set; }
+ public object? TenantId { get; set; }
- public bool TryIdentifyTenant(out object tenantId)
+ public bool TryIdentifyTenant(out object? tenantId)
{
tenantId = TenantId;
return IdentificationSuccess;
diff --git a/test/Autofac.Multitenant.Test/Autofac.Multitenant.Test.csproj b/test/Autofac.Multitenant.Test/Autofac.Multitenant.Test.csproj
index c20383b..9d1e4cc 100644
--- a/test/Autofac.Multitenant.Test/Autofac.Multitenant.Test.csproj
+++ b/test/Autofac.Multitenant.Test/Autofac.Multitenant.Test.csproj
@@ -12,6 +12,7 @@
latest
AllEnabledByDefault
enable
+ enable
@@ -28,21 +29,21 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
all
runtime; build; native; contentfiles; analyzers
diff --git a/test/Autofac.Multitenant.Test/MultitenantContainerFixture.cs b/test/Autofac.Multitenant.Test/MultitenantContainerFixture.cs
index cca0762..9ffc57e 100644
--- a/test/Autofac.Multitenant.Test/MultitenantContainerFixture.cs
+++ b/test/Autofac.Multitenant.Test/MultitenantContainerFixture.cs
@@ -123,7 +123,7 @@ public void ConfigureTenant_RequiresConfiguration()
TenantId = "tenant1",
};
using var mtc = new MultitenantContainer(strategy, builder.Build());
- Assert.Throws(() => mtc.ConfigureTenant("tenant1", null));
+ Assert.Throws(() => mtc.ConfigureTenant("tenant1", null!));
}
[Fact]
@@ -142,13 +142,13 @@ public void ConfigureTenant_ThrowsAfterDisposal()
[Fact]
public void Ctor_NullApplicationContainer()
{
- Assert.Throws(() => new MultitenantContainer(new StubTenantIdentificationStrategy(), null));
+ Assert.Throws(() => new MultitenantContainer(new StubTenantIdentificationStrategy(), null!));
}
[Fact]
public void Ctor_NullTenantIdentificationStrategy()
{
- Assert.Throws(() => new MultitenantContainer(null, new ContainerBuilder().Build()));
+ Assert.Throws(() => new MultitenantContainer(null!, new ContainerBuilder().Build()));
}
[Fact]
@@ -578,7 +578,7 @@ public void ReconfigureTenant_RequiresConfiguration()
using var mtc = new MultitenantContainer(strategy, builder.Build());
mtc.ConfigureTenant("tenant1", b => b.RegisterType().AsImplementedInterfaces().SingleInstance());
- Assert.Throws(() => mtc.ReconfigureTenant("tenant1", null));
+ Assert.Throws(() => mtc.ReconfigureTenant("tenant1", null!));
}
[Fact]
diff --git a/test/Autofac.Multitenant.Test/RegistrationExtensionsFixture.cs b/test/Autofac.Multitenant.Test/RegistrationExtensionsFixture.cs
index b958400..6c32205 100644
--- a/test/Autofac.Multitenant.Test/RegistrationExtensionsFixture.cs
+++ b/test/Autofac.Multitenant.Test/RegistrationExtensionsFixture.cs
@@ -11,7 +11,7 @@ public class RegistrationExtensionsFixture
[Fact]
public void InstancePerTenant_NullRegistration()
{
- IRegistrationBuilder registration = null;
+ IRegistrationBuilder registration = null!;
Assert.Throws(() => registration.InstancePerTenant());
}
diff --git a/test/Autofac.Multitenant.Test/Stubs/StubTenantIdentificationStrategy.cs b/test/Autofac.Multitenant.Test/Stubs/StubTenantIdentificationStrategy.cs
index ec18731..6db8e55 100644
--- a/test/Autofac.Multitenant.Test/Stubs/StubTenantIdentificationStrategy.cs
+++ b/test/Autofac.Multitenant.Test/Stubs/StubTenantIdentificationStrategy.cs
@@ -12,9 +12,9 @@ public StubTenantIdentificationStrategy()
public bool IdentificationSuccess { get; set; }
- public object TenantId { get; set; }
+ public object? TenantId { get; set; }
- public bool TryIdentifyTenant(out object tenantId)
+ public bool TryIdentifyTenant(out object? tenantId)
{
tenantId = TenantId;
return IdentificationSuccess;
diff --git a/test/Autofac.Multitenant.Test/TenantIdentificationStrategyExtensionsFixture.cs b/test/Autofac.Multitenant.Test/TenantIdentificationStrategyExtensionsFixture.cs
index 56d6757..a3cbc35 100644
--- a/test/Autofac.Multitenant.Test/TenantIdentificationStrategyExtensionsFixture.cs
+++ b/test/Autofac.Multitenant.Test/TenantIdentificationStrategyExtensionsFixture.cs
@@ -30,7 +30,7 @@ public void IdentifyTenant_FailedRetrieval()
[Fact]
public void IdentifyTenant_NullStrategy()
{
- ITenantIdentificationStrategy strategy = null;
+ ITenantIdentificationStrategy strategy = null!;
Assert.Throws(() => strategy.IdentifyTenant());
}