chore(webui): Enable NuGet packaging for Ploch.Common.WebUI - #261
Conversation
Microsoft.NET.Sdk.Web defaults IsPackable to false, while the repo-level Directory.Build.props sets GeneratePackageOnBuild for all non-test projects. The conflict emitted a pack warning on every solution build and silently prevented the package from being produced, despite the project's clear packaging intent (PackageReadmeFile + packed README). Explicitly enable IsPackable so Ploch.Common.WebUI (AppPage, SelectListHelper and related Razor/MVC page utilities) ships alongside the other Ploch.* packages. Verified the produced package metadata: readme, licence, SourceLink repository commit and dependencies all render correctly. The full solution now builds with zero warnings. Refs: #250
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
🤖 Review skipped: Repository Owner rate limit exceeded. Free accounts are limited to 3 reviews per 4 hours across all repositories. Upgrade to a paid plan for unlimited reviews. |
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
🧙 Sourcery has finished reviewing your pull request! Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Warning Review limit reached
Next review available in: 34 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Coverage variation | ✅ +0.00% coverage variation |
| Diff coverage | ✅ ∅ diff coverage |
Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (5f324e1) 1989 1715 86.22% Head commit (da06543) 1989 (+0) 1715 (+0) 86.22% (+0.00%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>
Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#261) 0 0 ∅ (not applicable) Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
|
|
Overall Grade |
Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| C# | Jul 25, 2026 1:29p.m. | Review ↗ |
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
There was a problem hiding this comment.
Pull request overview
Enables NuGet packaging for Ploch.Common.WebUI by explicitly overriding Microsoft.NET.Sdk.Web’s default IsPackable=false, aligning the project’s build behavior with its existing packaging intent and repository-wide GeneratePackageOnBuild configuration.
Changes:
- Set
<IsPackable>true</IsPackable>insrc/Common.WebUI/Ploch.Common.WebUI.csprojto eliminate the recurring pack warning and ensure the package is produced. - Added a change-log entry documenting that
Ploch.Common.WebUInow ships as a NuGet package and that the pack warning is resolved.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/Common.WebUI/Ploch.Common.WebUI.csproj | Explicitly enables packing for the Web SDK project to resolve the IsPackable conflict and produce a NuGet package. |
| change-log/2026-07-25-250-webui-package-enabled.md | Documents the new packaging behavior and the removal of the recurring NuGet pack warning for v4.0 notes. |
There was a problem hiding this comment.
Pull Request Overview
The PR successfully enables NuGet packaging for the Ploch.Common.WebUI library, resolving build warnings and providing the required changelog documentation. Automated quality checks indicate the project remains up to standards. However, the implementation reveals that the project currently uses the Web SDK (Microsoft.NET.Sdk.Web) for what is effectively a library (OutputType Library). Switching to the Razor SDK would be more idiomatic for this use case and would enable packaging by default without explicit property overrides.
Test suggestions
- Verify that IsPackable is explicitly set to true in the .csproj file
- Verify that the project build no longer produces packaging-related warnings
- Verify the presence of a changelog entry documenting the transition to a NuGet package
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
|
🤖 Review skipped: Repository Owner rate limit exceeded. Free accounts are limited to 3 reviews per 4 hours across all repositories. Upgrade to a paid plan for unlimited reviews. |
|



Summary
Implements #250 — resolves the
IsPackableconflict forPloch.Common.WebUIby deciding yes, the project ships as a NuGet package (the decision requested by the issue, confirmed with the repo owner as part of the v4.0 pre-release batch).Changes
<IsPackable>true</IsPackable>toPloch.Common.WebUI.csproj(with a comment explaining theMicrosoft.NET.Sdk.Webdefault it overrides).Design Decisions
PackageReadmeFile, README packed) and contains shipped utility code (AppPage,SelectListHelper— the latter just bug-fixed in Harden pre-existing edge cases in JoinWithFinalSeparator and SelectListHelper #248/PR fix(common): Harden JoinWithFinalSeparator and SelectListHelper edge cases #255). The docs (docs/libraries/common-webui.md) already instructdotnet add package Ploch.Common.WebUI; this makes that instruction true..nupkg: id, authors, Apache-2.0 licence, README, SourceLink repository commit, dependency group andMicrosoft.AspNetCore.Appframework reference all render correctly.Testing
Ploch.Common.WebUI.4.0.9-prerelease.*.nupkgproduced on build; nuspec inspected and correct.Related
Closes #250
Summary by Sourcery
Enable NuGet packaging for Ploch.Common.WebUI and document the change in the release change-log.
New Features:
Bug Fixes:
Documentation: