ci: convert solution to classic .sln for .NET 8 SDK compatibility #1

Merged
hannah-vernon merged 1 commit from dev into main 2026-06-05 11:17:29 -05:00

What does this PR do?

Fixes the failing CI build on the Forgejo runner. The runner uses the .NET 8.0 SDK, which cannot parse the .slnx (XML) solution format introduced in the .NET 9 SDK. A bare dotnet restore/build from the repo root failed with MSB1003: Specify a project or solution file because the SDK did not recognise VigilanceSentinel.slnx as a solution file.

This PR replaces VigilanceSentinel.slnx with a classic VigilanceSentinel.sln that the .NET 8 SDK reads. The build workflows stay on a single 8.0.x SDK and the test project stays on net8.0, so tests run on the same runtime the application ships on. It also adds the Build and Test status badge to the README.

How was this tested?

  • dotnet restore / dotnet build -c Release / dotnet test pass under a pinned 8.0.319 SDK (the runner's scenario) - 0 warnings, 0 errors, 1 test passing
  • CI run #10 on dev (commit 56f5caa) completed successfully

Checklist

  • Changes are focused - one logical change (CI fix + related badge)
  • Documentation updated (README badge; SDK wording reverted to accurate .NET 8.0 SDK or later)
  • No new dependencies
  • No commented-out code or debug leftovers
## What does this PR do? Fixes the failing CI build on the Forgejo runner. The runner uses the .NET 8.0 SDK, which cannot parse the `.slnx` (XML) solution format introduced in the .NET 9 SDK. A bare `dotnet restore`/`build` from the repo root failed with `MSB1003: Specify a project or solution file` because the SDK did not recognise `VigilanceSentinel.slnx` as a solution file. This PR replaces `VigilanceSentinel.slnx` with a classic `VigilanceSentinel.sln` that the .NET 8 SDK reads. The build workflows stay on a single `8.0.x` SDK and the test project stays on `net8.0`, so tests run on the same runtime the application ships on. It also adds the Build and Test status badge to the README. ## How was this tested? - [x] `dotnet restore` / `dotnet build -c Release` / `dotnet test` pass under a pinned `8.0.319` SDK (the runner's scenario) - 0 warnings, 0 errors, 1 test passing - [x] CI run #10 on `dev` (commit `56f5caa`) completed successfully ## Checklist - [x] Changes are focused - one logical change (CI fix + related badge) - [x] Documentation updated (README badge; SDK wording reverted to accurate `.NET 8.0 SDK or later`) - [x] No new dependencies - [x] No commented-out code or debug leftovers
ci: convert solution to classic .sln for .NET 8 SDK compatibility
All checks were successful
Build and Test / build (push) Successful in 1m11s
Build and Test / build (pull_request) Successful in 1m6s
56f5caa028
The Forgejo runner uses the .NET 8.0 SDK, which cannot parse the .slnx
(XML) solution format introduced in the .NET 9 SDK.  Bare `dotnet
restore`/`build` from the repo root failed with MSB1003 because the
SDK did not recognise VigilanceSentinel.slnx as a solution file.

Replace VigilanceSentinel.slnx with a classic VigilanceSentinel.sln
that the .NET 8 SDK reads.  This keeps the build workflows on a single
8.0.x SDK and lets the test project stay on net8.0, so tests run on the
same runtime the application ships on.  Verified restore, build, and
test pass under a pinned 8.0.319 SDK.

Also add the Build and Test status badge to the README.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hannah-vernon/vigilance-sentinel!1
No description provided.