Update project dependencies (#12178)#12179
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThis pull request updates NuGet package dependencies across multiple projects to newer patch versions, primarily bumping Microsoft.AspNetCore., Microsoft.Extensions., and Microsoft.EntityFrameworkCore.* packages from 10.0.4 to 10.0.5. Additionally, the caching infrastructure is refactored to support hybrid caching with distributed Redis-backed components. Changes
Sequence Diagram(s)sequenceDiagram
participant App as Application
participant FC as FusionCache
participant MC as Memory Cache
participant DC as Distributed Cache
participant Redis as Redis
App->>FC: Register hybrid cache
FC->>MC: WithRegisteredMemoryCache()
FC->>DC: WithDistributedCache()
DC->>Redis: Connect StackExchangeRedis
DC->>Redis: Register DistributedLocker
App->>App: Configure MemoryCacheOptions
App->>MC: AddMemoryCache()
App->>DC: AddDistributedMemoryCache (fallback)
App->>Redis: AddStackExchangeRedisCache (when Redis enabled)
App->>FC: AsHybridCache() - enable auto-cloning
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Updates multiple projects and templates to newer dependency patch versions, aligning the solution with the latest .NET 10.0.x packages and refreshing several third-party libraries used across the repo (websites, demos, and Boilerplate template).
Changes:
- Bump various Microsoft.* packages (primarily
10.0.4 → 10.0.5) across Sales/Platform/Careers websites and multiple demos/tools. - Update Boilerplate template dependencies (e.g., FusionCache packages, Sentry, WebView2, libphonenumber-csharp, Magick.NET, Scalar.AspNetCore) and adjust caching registrations.
- Update EF Core migration designer/snapshot
ProductVersionto10.0.5.
Reviewed changes
Copilot reviewed 29 out of 30 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj | Patch bump of Microsoft.Extensions + System.Text.Json dependencies. |
| src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj | Patch bump of Blazor Web/WebAssembly server packages. |
| src/Websites/Sales/src/Bit.Websites.Sales.Client/Bit.Websites.Sales.Client.csproj | Patch bump of Blazor WASM/Web packages. |
| src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj | Patch bump of Microsoft.Extensions + System.Text.Json dependencies. |
| src/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj | Patch bump of Blazor Web/WebAssembly server packages. |
| src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj | Patch bump of Blazor WASM/Web + SignalR client packages. |
| src/Websites/Careers/src/Bit.Websites.Careers.Shared/Bit.Websites.Careers.Shared.csproj | Patch bump of Microsoft.Extensions + System.Text.Json dependencies. |
| src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj | Patch bump of Blazor Web/WebAssembly server packages. |
| src/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csproj | Patch bump of Blazor WASM/Web packages. |
| src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Infrastructure/Extensions/ISharedServiceCollectionExtensions.cs | Refactors MemoryCache configuration to Configure<MemoryCacheOptions> + AddMemoryCache(). |
| src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Infrastructure/Extensions/WebApplicationBuilderExtensions.cs | Updates FusionCache wiring (hybrid cache, distributed locker) and adds IDistributedCache registration. |
| src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Boilerplate.Server.Shared.csproj | Adds Redis distributed-locking package reference for FusionCache (conditional on redis). |
| src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages.props | Central package updates (Microsoft.* patch bumps + selected third-party bumps). |
| src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Infrastructure/Data/Migrations/AppOfflineDbContextModelSnapshot.cs | EF Core snapshot product version bump to 10.0.5. |
| src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Infrastructure/Data/Migrations/20260119232453_Initial.Designer.cs | EF Core migration designer product version bump to 10.0.5. |
| src/ResxTranslator/Bit.ResxTranslator/Bit.ResxTranslator.csproj | Patch bump of Microsoft.Extensions.* dependencies. |
| src/Butil/Demo/Bit.Butil.Demo.Web/Bit.Butil.Demo.Web.csproj | Patch bump of Blazor WASM + DevServer packages. |
| src/Butil/Demo/Bit.Butil.Demo.Maui/Bit.Butil.Demo.Maui.csproj | Patch bump of Microsoft.Extensions.Logging.Debug. |
| src/Bswup/FullDemo/Server/Bit.Bswup.Demo.Server.csproj | Patch bump of Blazor WASM server package. |
| src/Bswup/FullDemo/Client/Bit.Bswup.Demo.Client.csproj | Patch bump of Blazor WASM + DevServer packages. |
| src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.csproj | Patch bump of Blazor WASM server package. |
| src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/Bit.Bswup.NewDemo.Client.csproj | Patch bump of Blazor WASM package. |
| src/Bswup/Bit.Bswup.Demo/Bit.Bswup.Demo.csproj | Patch bump of Blazor WASM + DevServer packages. |
| src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Windows/Bit.BlazorUI.Demo.Client.Windows.csproj | Patch bump of Blazor Web + WebView2. |
| src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj | Patch bump of Blazor WASM/Web + Config.Json + SignalR client packages. |
| src/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csproj | Patch bump of Microsoft.Extensions + System.Text.Json dependencies. |
| src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj | Patch bump of Blazor WASM server package. |
| src/Besql/Demo/Bit.Besql.Demo/Bit.Besql.Demo.csproj | Patch bump of Blazor WASM server + EFCore tooling/tasks packages. |
| src/Besql/Demo/Bit.Besql.Demo.Client/Bit.Besql.Demo.Client.csproj | Patch bump of Blazor WASM package. |
Files not reviewed (1)
- src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Infrastructure/Data/Migrations/20260119232453_Initial.Designer.cs: Language not supported
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Yas Moradi <yas_moradi@outlook.com>
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj (1)
1-52:⚠️ Potential issue | 🔴 CriticalCI blocker: solution invokes
InstallNodejsDependencies, but this project does not define that target.The provided pipeline failure is release-blocking. Add a no-op target here (or in a shared
Directory.Build.targets) so solution-level-t:InstallNodejsDependenciesdoes not fail on non-client projects.Proposed minimal fix for this project
</ItemGroup> + <Target Name="InstallNodejsDependencies" /> + </Project>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj` around lines 1 - 52, Add a no-op MSBuild target named InstallNodejsDependencies so solution-level -t:InstallNodejsDependencies does not fail for this server project; update Bit.Websites.Careers.Server.csproj (or a shared Directory.Build.targets) to declare <Target Name="InstallNodejsDependencies" /> (or an empty target with a Condition=" '$(InstallNodejsDependencies)' == '' " if you prefer guarding), ensuring the project defines the InstallNodejsDependencies target but performs no actions.
🧹 Nitpick comments (4)
src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj (1)
17-19: Version bumps approved, but note the pruning warning.The updates to 10.0.5 are consistent with the PR objective.
The pipeline warning
NU1510: PackageReference System.Text.Json will not be prunedindicates this package may already be transitively referenced by other dependencies. Consider whether the explicit reference is necessary, or if it can be removed to rely on the transitive dependency. This is not blocking but worth evaluating for cleaner dependency management.,
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj` around lines 17 - 19, The explicit PackageReference to System.Text.Json in Bit.Websites.Sales.Shared.csproj may be redundant (NU1510) because it is transitively referenced; verify with `dotnet list package --include-transitive` or inspect your dependency graph, and if it is indeed provided transitively, remove the <PackageReference Include="System.Text.Json" Version="10.0.5" /> entry from the csproj to allow pruning; if you actually need a specific version or to force resolution, instead keep it but document why or set appropriate attributes (e.g., PrivateAssets/ExcludeAssets) so the intent is clear.src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj (1)
23-23: Remove the redundantMicrosoft.AspNetCore.Components.WebPackageReference. For ASP.NET Core projects targeting net10.0 with Microsoft.NET.Sdk.Web, this package is provided by the implicitMicrosoft.AspNetCore.Appshared framework; declaring it explicitly causes the NU1510 warning and unnecessary churn.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj` at line 23, Remove the redundant PackageReference for Microsoft.AspNetCore.Components.Web from the Bit.Websites.Sales.Server project file: delete the <PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="10.0.5" /> entry in Bit.Websites.Sales.Server.csproj so the implicit Microsoft.AspNetCore.App shared framework provides the package and the NU1510 warning is eliminated.src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Infrastructure/Extensions/WebApplicationBuilderExtensions.cs (2)
270-270: Disk-space failure should be readiness, not liveness.Line 270 tags low disk space as
live. That can trigger restart loops on full volumes even though a restart will not recover capacity; this probe is usually safer on the readiness path.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Infrastructure/Extensions/WebApplicationBuilderExtensions.cs` at line 270, The disk-space health check is currently tagged as liveness which can cause restart loops; update the AddDiskStorageHealthCheck registration in WebApplicationBuilderExtensions.cs (the call to AddDiskStorageHealthCheck) to tag it as a readiness check instead (e.g., replace tags: ["live"] with tags: ["ready"] or ["readiness"]) so low-disk conditions affect readiness rather than liveness.
92-95: Reuse the keyedredis-cachemultiplexer forIDistributedCacheif the 10.0.x API allows it.Line 92 builds
IDistributedCachefrom the raw connection string even though Lines 69-83 already use the keyedredis-cachemultiplexer. Reusing the same multiplexer keeps one connection pool and consistent tracing/timeouts across FusionCache andIDistributedCache.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Infrastructure/Extensions/WebApplicationBuilderExtensions.cs` around lines 92 - 95, The AddStackExchangeRedisCache registration currently builds a fresh connection from the raw connection string; instead configure its options to reuse the already-registered keyed multiplexer by setting options.ConnectionMultiplexerFactory to return the existing "redis-cache" multiplexer from the IServiceProvider (the same registration used earlier in the file), so AddStackExchangeRedisCache and the FusionCache/multiplexer registrations share the same IConnectionMultiplexer, connection pool and tracing/timeouts; modify the AddStackExchangeRedisCache call to resolve and return the existing keyed multiplexer ("redis-cache") via the service provider.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/Bswup/Bit.Bswup.Demo/Bit.Bswup.Demo.csproj`:
- Around line 11-12: Add a default no-op MSBuild target named
InstallNodejsDependencies so projects that don't need frontend steps won't fail
CI; implement it centrally (e.g., in Directory.Build.targets) as a simple empty
Target with the same name that does nothing, allowing individual frontend
projects to override it with their real implementation; ensure Target name is
exactly InstallNodejsDependencies so existing project files (like
Bit.Bswup.Demo) inherit this no-op unless they define their own.
In
`@src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Infrastructure/Extensions/ISharedServiceCollectionExtensions.cs`:
- Around line 42-45: The code calls
configuration.GetRequiredSection("MemoryCache") inside
services.Configure<MemoryCacheOptions>, which throws if the "MemoryCache"
section is missing; change to configuration.GetSection("MemoryCache") so the
configuration bind becomes optional and startup won't fail when the section is
absent; update the call in ISharedServiceCollectionExtensions where
services.Configure<MemoryCacheOptions>(...) references
configuration.GetRequiredSection to use GetSection instead.
In
`@src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj`:
- Line 19: Remove the explicit PackageReference for System.Text.Json from the
project file: locate the <PackageReference Include="System.Text.Json"
Version="10.0.5" /> entry in Bit.Websites.Platform.Shared.csproj (the net10.0
target) and delete that line so the build uses the framework inbox
System.Text.Json instead of the redundant NuGet package.
---
Outside diff comments:
In
`@src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj`:
- Around line 1-52: Add a no-op MSBuild target named InstallNodejsDependencies
so solution-level -t:InstallNodejsDependencies does not fail for this server
project; update Bit.Websites.Careers.Server.csproj (or a shared
Directory.Build.targets) to declare <Target Name="InstallNodejsDependencies" />
(or an empty target with a Condition=" '$(InstallNodejsDependencies)' == '' " if
you prefer guarding), ensuring the project defines the InstallNodejsDependencies
target but performs no actions.
---
Nitpick comments:
In
`@src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Infrastructure/Extensions/WebApplicationBuilderExtensions.cs`:
- Line 270: The disk-space health check is currently tagged as liveness which
can cause restart loops; update the AddDiskStorageHealthCheck registration in
WebApplicationBuilderExtensions.cs (the call to AddDiskStorageHealthCheck) to
tag it as a readiness check instead (e.g., replace tags: ["live"] with tags:
["ready"] or ["readiness"]) so low-disk conditions affect readiness rather than
liveness.
- Around line 92-95: The AddStackExchangeRedisCache registration currently
builds a fresh connection from the raw connection string; instead configure its
options to reuse the already-registered keyed multiplexer by setting
options.ConnectionMultiplexerFactory to return the existing "redis-cache"
multiplexer from the IServiceProvider (the same registration used earlier in the
file), so AddStackExchangeRedisCache and the FusionCache/multiplexer
registrations share the same IConnectionMultiplexer, connection pool and
tracing/timeouts; modify the AddStackExchangeRedisCache call to resolve and
return the existing keyed multiplexer ("redis-cache") via the service provider.
In
`@src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj`:
- Line 23: Remove the redundant PackageReference for
Microsoft.AspNetCore.Components.Web from the Bit.Websites.Sales.Server project
file: delete the <PackageReference Include="Microsoft.AspNetCore.Components.Web"
Version="10.0.5" /> entry in Bit.Websites.Sales.Server.csproj so the implicit
Microsoft.AspNetCore.App shared framework provides the package and the NU1510
warning is eliminated.
In
`@src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj`:
- Around line 17-19: The explicit PackageReference to System.Text.Json in
Bit.Websites.Sales.Shared.csproj may be redundant (NU1510) because it is
transitively referenced; verify with `dotnet list package --include-transitive`
or inspect your dependency graph, and if it is indeed provided transitively,
remove the <PackageReference Include="System.Text.Json" Version="10.0.5" />
entry from the csproj to allow pruning; if you actually need a specific version
or to force resolution, instead keep it but document why or set appropriate
attributes (e.g., PrivateAssets/ExcludeAssets) so the intent is clear.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 3a224c7d-485c-434e-9a29-31b74adcc8db
📒 Files selected for processing (30)
src/Besql/Demo/Bit.Besql.Demo.Client/Bit.Besql.Demo.Client.csprojsrc/Besql/Demo/Bit.Besql.Demo/Bit.Besql.Demo.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Windows/Bit.BlazorUI.Demo.Client.Windows.csprojsrc/Bswup/Bit.Bswup.Demo/Bit.Bswup.Demo.csprojsrc/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/Bit.Bswup.NewDemo.Client.csprojsrc/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.csprojsrc/Bswup/FullDemo/Client/Bit.Bswup.Demo.Client.csprojsrc/Bswup/FullDemo/Server/Bit.Bswup.Demo.Server.csprojsrc/Butil/Demo/Bit.Butil.Demo.Maui/Bit.Butil.Demo.Maui.csprojsrc/Butil/Demo/Bit.Butil.Demo.Web/Bit.Butil.Demo.Web.csprojsrc/ResxTranslator/Bit.ResxTranslator/Bit.ResxTranslator.csprojsrc/Templates/Boilerplate/Bit.Boilerplate/.docs/15- Logging, OpenTelemetry and Health Checks.mdsrc/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Infrastructure/Data/Migrations/20260119232453_Initial.Designer.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Infrastructure/Data/Migrations/AppOfflineDbContextModelSnapshot.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages.propssrc/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Boilerplate.Server.Shared.csprojsrc/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Infrastructure/Extensions/WebApplicationBuilderExtensions.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Infrastructure/Extensions/ISharedServiceCollectionExtensions.cssrc/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csprojsrc/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csprojsrc/Websites/Careers/src/Bit.Websites.Careers.Shared/Bit.Websites.Careers.Shared.csprojsrc/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csprojsrc/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csprojsrc/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csprojsrc/Websites/Sales/src/Bit.Websites.Sales.Client/Bit.Websites.Sales.Client.csprojsrc/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csprojsrc/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj
msynk
left a comment
There was a problem hiding this comment.
just a couple of unrelated changes to this PR, eveything else is fine to be merged
closes #12178
Summary by CodeRabbit
New Features
Chores
Documentation