diff --git a/.gitignore b/.gitignore
index 303df77..c6412f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -397,3 +397,7 @@ FodyWeavers.xsd
# JetBrains Rider
*.sln.iml
.idea
+
+# agents
+.claude/
+CLAUDE.md
diff --git a/AspNetCore.DataProtection.CustomStorage.sln b/AspNetCore.DataProtection.CustomStorage.sln
deleted file mode 100644
index 6319330..0000000
--- a/AspNetCore.DataProtection.CustomStorage.sln
+++ /dev/null
@@ -1,75 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.6.33712.159
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{8658EF6B-C5AE-49AC-A7E4-7185005C95D9}"
- ProjectSection(SolutionItems) = preProject
- src\Directory.Build.props = src\Directory.Build.props
- src\Directory.Build.targets = src\Directory.Build.targets
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionItems", "{54236874-4D1E-4E0E-9333-892919EC293F}"
- ProjectSection(SolutionItems) = preProject
- LICENSE = LICENSE
- NuGet.Config = NuGet.Config
- README.md = README.md
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{8E67D983-E2B0-4DEF-9EAC-FB87D2E99D1A}"
- ProjectSection(SolutionItems) = preProject
- tests\Directory.Build.props = tests\Directory.Build.props
- tests\Directory.Build.targets = tests\Directory.Build.targets
- EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCore.DataProtection.CustomStorage.Tests", "tests\AspNetCore.DataProtection.CustomStorage.Tests\AspNetCore.DataProtection.CustomStorage.Tests.csproj", "{AC39F953-2296-40CC-A2B1-2F604BD86374}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCore.DataProtection.CustomStorage", "src\AspNetCore.DataProtection.CustomStorage\AspNetCore.DataProtection.CustomStorage.csproj", "{DFE235EF-3772-41AA-9778-9F64412EF313}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCore.DataProtection.CustomStorage.Dapper", "src\AspNetCore.DataProtection.CustomStorage.Dapper\AspNetCore.DataProtection.CustomStorage.Dapper.csproj", "{E3ACD59F-6850-4F8E-A620-6B82F7E59E0B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer", "src\AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer\AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.csproj", "{1F61C9EF-2996-4DEA-8FDD-BE644EAC2119}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL", "src\AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL\AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL.csproj", "{A9E16154-6CA2-44E5-8661-E5663A52F963}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {AC39F953-2296-40CC-A2B1-2F604BD86374}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AC39F953-2296-40CC-A2B1-2F604BD86374}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AC39F953-2296-40CC-A2B1-2F604BD86374}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AC39F953-2296-40CC-A2B1-2F604BD86374}.Release|Any CPU.Build.0 = Release|Any CPU
- {DFE235EF-3772-41AA-9778-9F64412EF313}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DFE235EF-3772-41AA-9778-9F64412EF313}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DFE235EF-3772-41AA-9778-9F64412EF313}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DFE235EF-3772-41AA-9778-9F64412EF313}.Release|Any CPU.Build.0 = Release|Any CPU
- {E3ACD59F-6850-4F8E-A620-6B82F7E59E0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E3ACD59F-6850-4F8E-A620-6B82F7E59E0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E3ACD59F-6850-4F8E-A620-6B82F7E59E0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E3ACD59F-6850-4F8E-A620-6B82F7E59E0B}.Release|Any CPU.Build.0 = Release|Any CPU
- {1F61C9EF-2996-4DEA-8FDD-BE644EAC2119}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1F61C9EF-2996-4DEA-8FDD-BE644EAC2119}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1F61C9EF-2996-4DEA-8FDD-BE644EAC2119}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1F61C9EF-2996-4DEA-8FDD-BE644EAC2119}.Release|Any CPU.Build.0 = Release|Any CPU
- {A9E16154-6CA2-44E5-8661-E5663A52F963}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A9E16154-6CA2-44E5-8661-E5663A52F963}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A9E16154-6CA2-44E5-8661-E5663A52F963}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A9E16154-6CA2-44E5-8661-E5663A52F963}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {AC39F953-2296-40CC-A2B1-2F604BD86374} = {8E67D983-E2B0-4DEF-9EAC-FB87D2E99D1A}
- {DFE235EF-3772-41AA-9778-9F64412EF313} = {8658EF6B-C5AE-49AC-A7E4-7185005C95D9}
- {E3ACD59F-6850-4F8E-A620-6B82F7E59E0B} = {8658EF6B-C5AE-49AC-A7E4-7185005C95D9}
- {1F61C9EF-2996-4DEA-8FDD-BE644EAC2119} = {8658EF6B-C5AE-49AC-A7E4-7185005C95D9}
- {A9E16154-6CA2-44E5-8661-E5663A52F963} = {8658EF6B-C5AE-49AC-A7E4-7185005C95D9}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {E3E547D3-0100-4B9B-A3F5-E99222944FFC}
- EndGlobalSection
-EndGlobal
diff --git a/AspNetCore.DataProtection.CustomStorage.slnx b/AspNetCore.DataProtection.CustomStorage.slnx
new file mode 100644
index 0000000..ebd5732
--- /dev/null
+++ b/AspNetCore.DataProtection.CustomStorage.slnx
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL.csproj b/src/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL.csproj
index 965a1e6..6747c9a 100644
--- a/src/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL.csproj
+++ b/src/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL.csproj
@@ -5,7 +5,7 @@
Support for storing AspNetCore data protection keys using Dapper in PostgreSQL.
-
+
diff --git a/src/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.csproj b/src/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.csproj
index 6478b04..b5f5a14 100644
--- a/src/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.csproj
+++ b/src/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.csproj
@@ -5,7 +5,7 @@
Support for storing AspNetCore data protection keys using Dapper in SQLServer.
-
+
diff --git a/src/AspNetCore.DataProtection.CustomStorage.Dapper/AspNetCore.DataProtection.CustomStorage.Dapper.csproj b/src/AspNetCore.DataProtection.CustomStorage.Dapper/AspNetCore.DataProtection.CustomStorage.Dapper.csproj
index f9e97d2..85b8f34 100644
--- a/src/AspNetCore.DataProtection.CustomStorage.Dapper/AspNetCore.DataProtection.CustomStorage.Dapper.csproj
+++ b/src/AspNetCore.DataProtection.CustomStorage.Dapper/AspNetCore.DataProtection.CustomStorage.Dapper.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/src/AspNetCore.DataProtection.CustomStorage/AspNetCore.DataProtection.CustomStorage.csproj b/src/AspNetCore.DataProtection.CustomStorage/AspNetCore.DataProtection.CustomStorage.csproj
index 64e6450..42e20ba 100644
--- a/src/AspNetCore.DataProtection.CustomStorage/AspNetCore.DataProtection.CustomStorage.csproj
+++ b/src/AspNetCore.DataProtection.CustomStorage/AspNetCore.DataProtection.CustomStorage.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 1fe9aba..63d32ac 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -1,14 +1,14 @@
- 1.0
- 1.0
- 1.0
- 1.0
+ 1.1
+ 1.1
+ 1.1
+ 1.1
0.1
- net8.0
+ net10.0
latest
disable
true
@@ -41,6 +41,7 @@
+
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL.csproj b/tests/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL.csproj
deleted file mode 100644
index 017c231..0000000
--- a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL.csproj
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/Class1.cs b/tests/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/Class1.cs
deleted file mode 100644
index af2abfd..0000000
--- a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL/Class1.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace AspNetCore.DataProtection.CustomStorage.Dapper.PostgreSQL;
-
-public class Class1
-{
-
-}
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests.csproj b/tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests.csproj
deleted file mode 100644
index 09aa3fa..0000000
--- a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests.csproj
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests/Class1.cs b/tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests/Class1.cs
deleted file mode 100644
index b7f31ad..0000000
--- a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests/Class1.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace AspNetCore.DataProtection.CustomStorage.Dapper.SQLServer.Tests;
-
-public class Class1
-{
-
-}
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.Tests/AspNetCore.DataProtection.CustomStorage.Dapper.Tests.csproj b/tests/AspNetCore.DataProtection.CustomStorage.Dapper.Tests/AspNetCore.DataProtection.CustomStorage.Dapper.Tests.csproj
deleted file mode 100644
index fb9238e..0000000
--- a/tests/AspNetCore.DataProtection.CustomStorage.Dapper.Tests/AspNetCore.DataProtection.CustomStorage.Dapper.Tests.csproj
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Tests/AspNetCore.DataProtection.CustomStorage.Tests.csproj b/tests/AspNetCore.DataProtection.CustomStorage.Tests/AspNetCore.DataProtection.CustomStorage.Tests.csproj
index b5f49f6..38fff92 100644
--- a/tests/AspNetCore.DataProtection.CustomStorage.Tests/AspNetCore.DataProtection.CustomStorage.Tests.csproj
+++ b/tests/AspNetCore.DataProtection.CustomStorage.Tests/AspNetCore.DataProtection.CustomStorage.Tests.csproj
@@ -11,13 +11,17 @@
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
-
-
-
-
-
+
+
+
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Tests/PostgreSQL/PostgreSqlContainerFixture.cs b/tests/AspNetCore.DataProtection.CustomStorage.Tests/PostgreSQL/PostgreSqlContainerFixture.cs
index a609696..7a43670 100644
--- a/tests/AspNetCore.DataProtection.CustomStorage.Tests/PostgreSQL/PostgreSqlContainerFixture.cs
+++ b/tests/AspNetCore.DataProtection.CustomStorage.Tests/PostgreSQL/PostgreSqlContainerFixture.cs
@@ -14,8 +14,7 @@ namespace AspNetCore.DataProtection.CustomStorage.Tests.PostgreSQL;
public class PostgreSqlContainerFixture : IAsyncLifetime
{
- private readonly PostgreSqlContainer _dbContainer = new PostgreSqlBuilder()
- .WithImage("postgres:16.4")
+ private readonly PostgreSqlContainer _dbContainer = new PostgreSqlBuilder("postgres:16.4")
.WithWaitStrategy(Wait.ForUnixContainer())
.Build();
@@ -34,7 +33,7 @@ public PostgreSqlContainerFixture()
});
}
- public async Task InitializeAsync()
+ public async ValueTask InitializeAsync()
{
await _dbContainer.StartAsync();
@@ -75,7 +74,7 @@ public async Task ResetDatabaseAsync()
await _respawner.ResetAsync(dbConnection);
}
- public async Task DisposeAsync()
+ public async ValueTask DisposeAsync()
{
await NpgsqlDataSource.DisposeAsync();
await _dbContainer.StopAsync();
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Tests/SQLServer/SqlServerContainerFixture.cs b/tests/AspNetCore.DataProtection.CustomStorage.Tests/SQLServer/SqlServerContainerFixture.cs
index 927510d..58e4455 100644
--- a/tests/AspNetCore.DataProtection.CustomStorage.Tests/SQLServer/SqlServerContainerFixture.cs
+++ b/tests/AspNetCore.DataProtection.CustomStorage.Tests/SQLServer/SqlServerContainerFixture.cs
@@ -14,8 +14,7 @@
namespace AspNetCore.DataProtection.CustomStorage.Tests.SQLServer;
public class SqlServerContainerFixture : IAsyncLifetime
{
- private readonly MsSqlContainer _dbContainer = new MsSqlBuilder()
- .WithImage("mcr.microsoft.com/mssql/server:2022-latest")
+ private readonly MsSqlContainer _dbContainer = new MsSqlBuilder("mcr.microsoft.com/mssql/server:2022-latest")
.WithPassword(Guid.NewGuid().ToString())
.WithExposedPort(1433).WithPortBinding(1433, true)
.Build();
@@ -35,7 +34,7 @@ public SqlServerContainerFixture()
});
}
- public async Task InitializeAsync()
+ public async ValueTask InitializeAsync()
{
await _dbContainer.StartAsync();
@@ -46,7 +45,10 @@ public async Task InitializeAsync()
InitialCatalog = initialCatalog,
};
- SqlConnectionFactory = new SqlConnectionFactory(connectionStringBuilder.ConnectionString);
+ SqlConnectionFactory = new SqlConnectionFactory(connectionStringBuilder.ConnectionString
+ //quick hack for just my configuration (docker on wsl2)
+ .Replace("localhost", "127.0.0.1")
+ );
SeedDatabase();
await using var dbConnection = SqlConnectionFactory.CreateConnection();
@@ -73,7 +75,7 @@ public async Task ResetDatabaseAsync()
await _respawner.ResetAsync(dbConnection);
}
- public async Task DisposeAsync()
+ public async ValueTask DisposeAsync()
{
await _dbContainer.StopAsync();
await _dbContainer.DisposeAsync();
diff --git a/tests/AspNetCore.DataProtection.CustomStorage.Tests/xunit.runner.json b/tests/AspNetCore.DataProtection.CustomStorage.Tests/xunit.runner.json
new file mode 100644
index 0000000..f78bc2f
--- /dev/null
+++ b/tests/AspNetCore.DataProtection.CustomStorage.Tests/xunit.runner.json
@@ -0,0 +1,3 @@
+{
+ "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json"
+}
\ No newline at end of file
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
index 8948579..d1a252f 100644
--- a/tests/Directory.Build.props
+++ b/tests/Directory.Build.props
@@ -1,6 +1,15 @@
- net8.0;
+ Exe
+ true
+ true
+ true
+
+
+
+
+
+ net10.0;
latest
disable
enable
@@ -9,12 +18,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive