feat(auth): add health check endpoint

This commit is contained in:
Sam 2026-02-02 09:54:36 +08:00
parent d6dc0b2d36
commit db831758d9
23 changed files with 217 additions and 7 deletions

View File

@ -0,0 +1,77 @@
# Task 7: Create Health Check Endpoint
## Task Description
**Files:**
- Modify: `src/Fengling.AuthService/Program.cs`
- Modify: `src/Fengling.AuthService/Fengling.AuthService.csproj`
## Implementation Steps
### Step 1: Add health check package
Edit: `src/Fengling.AuthService/Fengling.AuthService.csproj`
Add package reference:
```xml
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="10.0.2" />
<PackageReference Include="Npgsql.HealthChecks" Version="10.0.0" />
```
### Step 2: Add health check configuration
Edit: `src/Fengling.AuthService/Program.cs` (add after builder services)
```csharp
builder.Services.AddHealthChecks()
.AddNpgSql(builder.Configuration.GetConnectionString("DefaultConnection")!);
```
### Step 3: Add health check endpoint
Edit: `src/Fengling.AuthService/Program.cs` (before app.Run())
```csharp
app.MapHealthChecks("/health");
```
### Step 4: Test health check
Run:
```bash
dotnet run
```
Test:
```bash
curl http://localhost:5000/health
```
Expected: "Healthy"
### Step 5: Commit
```bash
git add src/Fengling.AuthService/Program.cs src/Fengling.AuthService/Fengling.AuthService.csproj
git commit -m "feat(auth): add health check endpoint"
```
## Context
This task adds a health check endpoint to monitor service and database connectivity. Health checks are essential for container orchestration and monitoring.
**Tech Stack**: ASP.NET Core Health Checks, PostgreSQL
## Verification
- [ ] Health check packages added
- [ ] Health check configuration added
- [ ] Health check endpoint mapped
- [ ] Endpoint returns "Healthy"
- [ ] Build succeeds
- [ ] Committed to git
## Notes
- Health check endpoint: /health
- Monitors PostgreSQL connection
- Ready for Kubernetes liveness/readiness probes

View File

@ -11,6 +11,8 @@
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="10.0.2" />
<PackageReference Include="AspNetCore.HealthChecks.Npgsql" Version="8.0.2" />
<PackageReference Include="OpenIddict.AspNetCore" Version="7.2.0" /> <PackageReference Include="OpenIddict.AspNetCore" Version="7.2.0" />
<PackageReference Include="OpenIddict.EntityFrameworkCore" Version="7.2.0" /> <PackageReference Include="OpenIddict.EntityFrameworkCore" Version="7.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="10.0.2" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="10.0.2" />

View File

@ -39,6 +39,9 @@ builder.Services.AddOpenTelemetry()
builder.Services.AddControllers(); builder.Services.AddControllers();
builder.Services.AddHealthChecks()
.AddNpgSql(builder.Configuration.GetConnectionString("DefaultConnection")!);
builder.Services.AddSwaggerGen(options => builder.Services.AddSwaggerGen(options =>
{ {
options.SwaggerDoc("v1", new OpenApiInfo options.SwaggerDoc("v1", new OpenApiInfo
@ -65,7 +68,7 @@ var app = builder.Build();
using (var scope = app.Services.CreateScope()) using (var scope = app.Services.CreateScope())
{ {
await Data.SeedData.Initialize(scope.ServiceProvider); await SeedData.Initialize(scope.ServiceProvider);
} }
app.UseSwagger(); app.UseSwagger();
@ -81,5 +84,6 @@ app.UseAuthentication();
app.UseAuthorization(); app.UseAuthorization();
app.MapControllers(); app.MapControllers();
app.MapHealthChecks("/health");
app.Run(); app.Run();

View File

@ -8,8 +8,10 @@
".NETCoreApp,Version=v10.0": { ".NETCoreApp,Version=v10.0": {
"Fengling.AuthService/1.0.0": { "Fengling.AuthService/1.0.0": {
"dependencies": { "dependencies": {
"AspNetCore.HealthChecks.NpgSql": "8.0.2",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "10.0.2", "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "10.0.2",
"Microsoft.EntityFrameworkCore.Design": "10.0.2", "Microsoft.EntityFrameworkCore.Design": "10.0.2",
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "10.0.2",
"Npgsql.EntityFrameworkCore.PostgreSQL": "10.0.0", "Npgsql.EntityFrameworkCore.PostgreSQL": "10.0.0",
"OpenIddict.AspNetCore": "7.2.0", "OpenIddict.AspNetCore": "7.2.0",
"OpenIddict.EntityFrameworkCore": "7.2.0", "OpenIddict.EntityFrameworkCore": "7.2.0",
@ -26,6 +28,17 @@
"Fengling.AuthService.dll": {} "Fengling.AuthService.dll": {}
} }
}, },
"AspNetCore.HealthChecks.NpgSql/8.0.2": {
"dependencies": {
"Npgsql": "10.0.0"
},
"runtime": {
"lib/net8.0/HealthChecks.NpgSql.dll": {
"assemblyVersion": "8.0.2.0",
"fileVersion": "8.0.2.0"
}
}
},
"Humanizer.Core/2.14.1": { "Humanizer.Core/2.14.1": {
"runtime": { "runtime": {
"lib/net6.0/Humanizer.dll": { "lib/net6.0/Humanizer.dll": {
@ -414,6 +427,17 @@
} }
} }
}, },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/10.0.2": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "10.0.2"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.dll": {
"assemblyVersion": "10.0.2.0",
"fileVersion": "10.0.225.61305"
}
}
},
"Microsoft.Extensions.Http.Diagnostics/10.0.0": { "Microsoft.Extensions.Http.Diagnostics/10.0.0": {
"dependencies": { "dependencies": {
"Microsoft.Extensions.Telemetry": "10.0.0" "Microsoft.Extensions.Telemetry": "10.0.0"
@ -1168,6 +1192,13 @@
"serviceable": false, "serviceable": false,
"sha512": "" "sha512": ""
}, },
"AspNetCore.HealthChecks.NpgSql/8.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1R0JGr80PkUd0I2HWaunAFcaMPJDhD1qMLYWEIVBkFRdSXrw7KkI5ooJ1hePqk0p/a2IWaqW3+CuxN3qv+yhQA==",
"path": "aspnetcore.healthchecks.npgsql/8.0.2",
"hashPath": "aspnetcore.healthchecks.npgsql.8.0.2.nupkg.sha512"
},
"Humanizer.Core/2.14.1": { "Humanizer.Core/2.14.1": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,
@ -1287,6 +1318,13 @@
"path": "microsoft.extensions.diagnostics.exceptionsummarization/10.0.0", "path": "microsoft.extensions.diagnostics.exceptionsummarization/10.0.0",
"hashPath": "microsoft.extensions.diagnostics.exceptionsummarization.10.0.0.nupkg.sha512" "hashPath": "microsoft.extensions.diagnostics.exceptionsummarization.10.0.0.nupkg.sha512"
}, },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/10.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-crc0DOuCBTmJxZKKFfuoiiJ6oF0hoNfM+KZR/3TLHqVEX4XHY9gji0rMGW4HY3IsDT6ugMexVdidLAX363+Qyw==",
"path": "microsoft.extensions.diagnostics.healthchecks.entityframeworkcore/10.0.2",
"hashPath": "microsoft.extensions.diagnostics.healthchecks.entityframeworkcore.10.0.2.nupkg.sha512"
},
"Microsoft.Extensions.Http.Diagnostics/10.0.0": { "Microsoft.Extensions.Http.Diagnostics/10.0.0": {
"type": "package", "type": "package",
"serviceable": true, "serviceable": true,

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Fengling.AuthService")] [assembly: System.Reflection.AssemblyCompanyAttribute("Fengling.AuthService")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e51ea08c8f64ca1df1fdbcf18259604ce31f61df")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d6dc0b2d369ef9fc5d87920a440e2e7a574d1c7c")]
[assembly: System.Reflection.AssemblyProductAttribute("Fengling.AuthService")] [assembly: System.Reflection.AssemblyProductAttribute("Fengling.AuthService")]
[assembly: System.Reflection.AssemblyTitleAttribute("Fengling.AuthService")] [assembly: System.Reflection.AssemblyTitleAttribute("Fengling.AuthService")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
b3fc6d8a77f9329fe049c584e99757ea19575e7d16b6a5337bc1d5f233d9c2f0 24c56473aacfcd0dbdcdcd1107e64a8ffffecbda9c09b0df77e03eaeb763c386

View File

@ -1 +1 @@
50e3e66514328bf639f40c0905469023de4cbed7c13497fd5fef11cd4b437ed9 a78d5931f86313e08e6618a4c0d21573e022c26f4708676ffd124f07e58e14df

View File

@ -177,3 +177,5 @@
/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net10.0/Fengling.AuthService.pdb /Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net10.0/Fengling.AuthService.pdb
/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net10.0/Fengling.AuthService.genruntimeconfig.cache /Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net10.0/Fengling.AuthService.genruntimeconfig.cache
/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net10.0/ref/Fengling.AuthService.dll /Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net10.0/ref/Fengling.AuthService.dll
/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/bin/Debug/net10.0/HealthChecks.NpgSql.dll
/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/bin/Debug/net10.0/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.dll

View File

@ -1 +1 @@
{"GlobalPropertiesHash":"kj0YdTIP9epXJ4ydBR9yaRr5OemJ36+FlRmnBdiGrUE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["nGadCmuBEG\u002BKUP6Powa57G4ZzOO6ibT7XQKZuYm3g44=","elQhyiEcBZcCHMIxyXyx47S4otwc/MEXjAYU/dca/hQ=","QUvWOS2l6Gf\u002Bb29f7UDXsp99Km48zx\u002BXUkHxYrdP5O4=","587UMkRW9Duvi09dG2y/rsS2zVrz865mHwElGvidCDE=","BycXrGklRUEkbvtB6aZJ62jxNvupOOg0k43Q/WxLcYI="],"CachedAssets":{},"CachedCopyCandidates":{}} {"GlobalPropertiesHash":"kj0YdTIP9epXJ4ydBR9yaRr5OemJ36+FlRmnBdiGrUE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["nGadCmuBEG\u002BKUP6Powa57G4ZzOO6ibT7XQKZuYm3g44=","elQhyiEcBZcCHMIxyXyx47S4otwc/MEXjAYU/dca/hQ=","QUvWOS2l6Gf\u002Bb29f7UDXsp99Km48zx\u002BXUkHxYrdP5O4=","587UMkRW9Duvi09dG2y/rsS2zVrz865mHwElGvidCDE=","H/2oX/AhA9MsCiviWyp\u002BBcj5VIq4M2vfs7Bz0Gkt6GQ="],"CachedAssets":{},"CachedCopyCandidates":{}}

View File

@ -1 +1 @@
{"GlobalPropertiesHash":"cWEb6+iVjovCYrac7gX+Ogl5Z4cMpIEURSADGbv9ou0=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["nGadCmuBEG\u002BKUP6Powa57G4ZzOO6ibT7XQKZuYm3g44=","elQhyiEcBZcCHMIxyXyx47S4otwc/MEXjAYU/dca/hQ=","QUvWOS2l6Gf\u002Bb29f7UDXsp99Km48zx\u002BXUkHxYrdP5O4=","587UMkRW9Duvi09dG2y/rsS2zVrz865mHwElGvidCDE=","BycXrGklRUEkbvtB6aZJ62jxNvupOOg0k43Q/WxLcYI="],"CachedAssets":{},"CachedCopyCandidates":{}} {"GlobalPropertiesHash":"cWEb6+iVjovCYrac7gX+Ogl5Z4cMpIEURSADGbv9ou0=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["nGadCmuBEG\u002BKUP6Powa57G4ZzOO6ibT7XQKZuYm3g44=","elQhyiEcBZcCHMIxyXyx47S4otwc/MEXjAYU/dca/hQ=","QUvWOS2l6Gf\u002Bb29f7UDXsp99Km48zx\u002BXUkHxYrdP5O4=","587UMkRW9Duvi09dG2y/rsS2zVrz865mHwElGvidCDE=","H/2oX/AhA9MsCiviWyp\u002BBcj5VIq4M2vfs7Bz0Gkt6GQ="],"CachedAssets":{},"CachedCopyCandidates":{}}

View File

@ -45,6 +45,10 @@
"net10.0": { "net10.0": {
"targetAlias": "net10.0", "targetAlias": "net10.0",
"dependencies": { "dependencies": {
"AspNetCore.HealthChecks.Npgsql": {
"target": "Package",
"version": "[8.0.2, )"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": { "Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package", "target": "Package",
"version": "[10.0.2, )" "version": "[10.0.2, )"
@ -55,6 +59,10 @@
"target": "Package", "target": "Package",
"version": "[10.0.2, )" "version": "[10.0.2, )"
}, },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": {
"target": "Package",
"version": "[10.0.2, )"
},
"Npgsql.EntityFrameworkCore.PostgreSQL": { "Npgsql.EntityFrameworkCore.PostgreSQL": {
"target": "Package", "target": "Package",
"version": "[10.0.0, )" "version": "[10.0.0, )"

View File

@ -2,6 +2,22 @@
"version": 3, "version": 3,
"targets": { "targets": {
"net10.0": { "net10.0": {
"AspNetCore.HealthChecks.NpgSql/8.0.2": {
"type": "package",
"dependencies": {
"Npgsql": "8.0.3"
},
"compile": {
"lib/net8.0/HealthChecks.NpgSql.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/HealthChecks.NpgSql.dll": {
"related": ".xml"
}
}
},
"Humanizer.Core/2.14.1": { "Humanizer.Core/2.14.1": {
"type": "package", "type": "package",
"compile": { "compile": {
@ -524,6 +540,22 @@
"buildTransitive/net8.0/_._": {} "buildTransitive/net8.0/_._": {}
} }
}, },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/10.0.2": {
"type": "package",
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "10.0.2"
},
"compile": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.Http.Diagnostics/10.0.0": { "Microsoft.Extensions.Http.Diagnostics/10.0.0": {
"type": "package", "type": "package",
"dependencies": { "dependencies": {
@ -1693,6 +1725,25 @@
} }
}, },
"libraries": { "libraries": {
"AspNetCore.HealthChecks.NpgSql/8.0.2": {
"sha512": "1R0JGr80PkUd0I2HWaunAFcaMPJDhD1qMLYWEIVBkFRdSXrw7KkI5ooJ1hePqk0p/a2IWaqW3+CuxN3qv+yhQA==",
"type": "package",
"path": "aspnetcore.healthchecks.npgsql/8.0.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"README.md",
"aspnetcore.healthchecks.npgsql.8.0.2.nupkg.sha512",
"aspnetcore.healthchecks.npgsql.nuspec",
"icon.png",
"lib/net7.0/HealthChecks.NpgSql.dll",
"lib/net7.0/HealthChecks.NpgSql.xml",
"lib/net8.0/HealthChecks.NpgSql.dll",
"lib/net8.0/HealthChecks.NpgSql.xml",
"lib/netstandard2.0/HealthChecks.NpgSql.dll",
"lib/netstandard2.0/HealthChecks.NpgSql.xml"
]
},
"Humanizer.Core/2.14.1": { "Humanizer.Core/2.14.1": {
"sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==",
"type": "package", "type": "package",
@ -3240,6 +3291,22 @@
"microsoft.extensions.diagnostics.exceptionsummarization.nuspec" "microsoft.extensions.diagnostics.exceptionsummarization.nuspec"
] ]
}, },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/10.0.2": {
"sha512": "crc0DOuCBTmJxZKKFfuoiiJ6oF0hoNfM+KZR/3TLHqVEX4XHY9gji0rMGW4HY3IsDT6ugMexVdidLAX363+Qyw==",
"type": "package",
"path": "microsoft.extensions.diagnostics.healthchecks.entityframeworkcore/10.0.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"lib/net10.0/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.dll",
"lib/net10.0/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.xml",
"microsoft.extensions.diagnostics.healthchecks.entityframeworkcore.10.0.2.nupkg.sha512",
"microsoft.extensions.diagnostics.healthchecks.entityframeworkcore.nuspec"
]
},
"Microsoft.Extensions.Http.Diagnostics/10.0.0": { "Microsoft.Extensions.Http.Diagnostics/10.0.0": {
"sha512": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", "sha512": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==",
"type": "package", "type": "package",
@ -4992,8 +5059,10 @@
}, },
"projectFileDependencyGroups": { "projectFileDependencyGroups": {
"net10.0": [ "net10.0": [
"AspNetCore.HealthChecks.Npgsql >= 8.0.2",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore >= 10.0.2", "Microsoft.AspNetCore.Identity.EntityFrameworkCore >= 10.0.2",
"Microsoft.EntityFrameworkCore.Design >= 10.0.2", "Microsoft.EntityFrameworkCore.Design >= 10.0.2",
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore >= 10.0.2",
"Npgsql.EntityFrameworkCore.PostgreSQL >= 10.0.0", "Npgsql.EntityFrameworkCore.PostgreSQL >= 10.0.0",
"OpenIddict.AspNetCore >= 7.2.0", "OpenIddict.AspNetCore >= 7.2.0",
"OpenIddict.EntityFrameworkCore >= 7.2.0", "OpenIddict.EntityFrameworkCore >= 7.2.0",
@ -5051,6 +5120,10 @@
"net10.0": { "net10.0": {
"targetAlias": "net10.0", "targetAlias": "net10.0",
"dependencies": { "dependencies": {
"AspNetCore.HealthChecks.Npgsql": {
"target": "Package",
"version": "[8.0.2, )"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": { "Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package", "target": "Package",
"version": "[10.0.2, )" "version": "[10.0.2, )"
@ -5061,6 +5134,10 @@
"target": "Package", "target": "Package",
"version": "[10.0.2, )" "version": "[10.0.2, )"
}, },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": {
"target": "Package",
"version": "[10.0.2, )"
},
"Npgsql.EntityFrameworkCore.PostgreSQL": { "Npgsql.EntityFrameworkCore.PostgreSQL": {
"target": "Package", "target": "Package",
"version": "[10.0.0, )" "version": "[10.0.0, )"

View File

@ -1,9 +1,10 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "FHC65ySKeuM=", "dgSpecHash": "rgTh7824TMI=",
"success": true, "success": true,
"projectFilePath": "/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/Fengling.AuthService.csproj", "projectFilePath": "/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/Fengling.AuthService.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
"/Users/movingsam/.nuget/packages/aspnetcore.healthchecks.npgsql/8.0.2/aspnetcore.healthchecks.npgsql.8.0.2.nupkg.sha512",
"/Users/movingsam/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512", "/Users/movingsam/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512",
"/Users/movingsam/.nuget/packages/microsoft.aspnetcore.identity.entityframeworkcore/10.0.2/microsoft.aspnetcore.identity.entityframeworkcore.10.0.2.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.aspnetcore.identity.entityframeworkcore/10.0.2/microsoft.aspnetcore.identity.entityframeworkcore.10.0.2.nupkg.sha512",
"/Users/movingsam/.nuget/packages/microsoft.build.framework/18.0.2/microsoft.build.framework.18.0.2.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.build.framework/18.0.2/microsoft.build.framework.18.0.2.nupkg.sha512",
@ -24,6 +25,7 @@
"/Users/movingsam/.nuget/packages/microsoft.extensions.dependencyinjection.autoactivation/10.0.0/microsoft.extensions.dependencyinjection.autoactivation.10.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.dependencyinjection.autoactivation/10.0.0/microsoft.extensions.dependencyinjection.autoactivation.10.0.0.nupkg.sha512",
"/Users/movingsam/.nuget/packages/microsoft.extensions.dependencymodel/10.0.2/microsoft.extensions.dependencymodel.10.0.2.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.dependencymodel/10.0.2/microsoft.extensions.dependencymodel.10.0.2.nupkg.sha512",
"/Users/movingsam/.nuget/packages/microsoft.extensions.diagnostics.exceptionsummarization/10.0.0/microsoft.extensions.diagnostics.exceptionsummarization.10.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.diagnostics.exceptionsummarization/10.0.0/microsoft.extensions.diagnostics.exceptionsummarization.10.0.0.nupkg.sha512",
"/Users/movingsam/.nuget/packages/microsoft.extensions.diagnostics.healthchecks.entityframeworkcore/10.0.2/microsoft.extensions.diagnostics.healthchecks.entityframeworkcore.10.0.2.nupkg.sha512",
"/Users/movingsam/.nuget/packages/microsoft.extensions.http.diagnostics/10.0.0/microsoft.extensions.http.diagnostics.10.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.http.diagnostics/10.0.0/microsoft.extensions.http.diagnostics.10.0.0.nupkg.sha512",
"/Users/movingsam/.nuget/packages/microsoft.extensions.http.polly/10.0.0/microsoft.extensions.http.polly.10.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.http.polly/10.0.0/microsoft.extensions.http.polly.10.0.0.nupkg.sha512",
"/Users/movingsam/.nuget/packages/microsoft.extensions.http.resilience/10.0.0/microsoft.extensions.http.resilience.10.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.http.resilience/10.0.0/microsoft.extensions.http.resilience.10.0.0.nupkg.sha512",