Harden JSON dependency chain and enable multi-target .NET package release - #11
Conversation
Co-authored-by: chsword <274085+chsword@users.noreply.github.com>
Co-authored-by: chsword <274085+chsword@users.noreply.github.com>
Co-authored-by: chsword <274085+chsword@users.noreply.github.com>
Co-authored-by: chsword <274085+chsword@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The net45-to-net452 project incompatibility and release gaps around package metadata and test execution must be fixed.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR refreshes JSON dependencies, modernizes ResizingClient for multi-target NuGet packaging, and adds multi-SDK GitHub Actions release automation.
Changes:
- Upgrades Newtonsoft.Json references and binding redirects.
- Adds
net452,netstandard2.0, andnet8.0targets. - Modernizes tests and adds tag-based NuGet publishing.
- Updates documentation and disables legacy AppVeyor jobs.
File summaries
| File | Description |
|---|---|
source/ResizingServer/Web.config |
Updates the JSON binding redirect. |
source/ResizingServer/ResizingServer.csproj |
Updates the JSON assembly reference. |
source/ResizingServer/packages.config |
Updates the server JSON package. |
source/ResizingClient/ResizingClient.csproj |
Adds SDK-style multi-targeting and package references. |
source/ResizingClient/packages.config |
Updates client package metadata. |
source/ResizingClient.Tests/UnitTest1.cs |
Adds URL mode-token assertions. |
source/ResizingClient.Tests/ResizingClient.Tests.csproj |
Modernizes the MSTest project. |
README.md |
Documents supported target frameworks. |
appveyor.yml |
Disables legacy AppVeyor jobs. |
.github/workflows/dotnet-ci-release.yml |
Adds matrix builds and NuGet publishing. |
Review details
- Files reviewed: 10/10 changed files
- Comments generated: 4
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: chsword <274085+chsword@users.noreply.github.com>
Co-authored-by: chsword <274085+chsword@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
ResizingServer CI validation must be restored, and the README target documentation needs correction.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
Suppressed comments (1)
appveyor.yml:12
- These settings disable all AppVeyor build/test/deploy jobs, while the new Actions workflow only builds and tests
ResizingClient. That leavesResizingServer, including the updated Newtonsoft reference and binding redirect, without CI validation. Keep an equivalent server check or add a Windows server job before disabling the existing path.
build: off
test: off
deploy: off
- Files reviewed: 10/10 changed files
- Comments generated: 1
- Review effort level: Lite
|
@copilot Fix the code for all comments in this review thread. When a review comment includes a suggested change, apply the suggestion exactly. Do not make changes beyond what is described in the linked review thread. |
Co-authored-by: chsword <274085+chsword@users.noreply.github.com>
Implemented in
|
This PR addresses two gaps in one pass: outdated JSON dependencies with known security exposure, and lack of a modern multi-.NET release path for
ResizingClient. The change set upgrades dependency/runtime wiring and introduces a CI release flow aligned with current .NET SDKs.Security dependency refresh
Newtonsoft.Jsonto13.0.3in server/client package metadata.13.0.0.0to keep runtime resolution consistent.Multi-.NET client packaging
ResizingClientto SDK-style project format.net452,netstandard2.0,net8.0.System.Configuration/System.Net.Httponnet452,System.Configuration.ConfigurationManageron non-net452).Release automation for multiple SDK lines
.NET 8/9/10.contents: read) to satisfy security policy.Test project modernization (minimal scope)
ResizingClient.Teststo SDK-style MSTest (net8.0).FormatUrlmode-token coverage case.