Skip to content

Migrate OpenCvSharp.sln to the .slnx solution format - #2059

Merged
shimat merged 2 commits into
mainfrom
migrate-sln-to-slnx
Jul 18, 2026
Merged

shimat merged 2 commits into
mainfrom
migrate-sln-to-slnx

Conversation

@shimat

@shimat shimat commented Jul 18, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Replaced OpenCvSharp.sln with OpenCvSharp.slnx (generated via dotnet sln OpenCvSharp.sln migrate), and updated the one active doc reference (docs/build-instructions.md) to point at the new file.
  • No CI workflow builds OpenCvSharp.sln directly (all Windows/Linux/macOS pipelines build individual .csproj/CMake targets), so this has no build-pipeline impact.
  • This repo already targets net10.0/.NET 10 SDK and builds with the VS 2026 generator in CI, and .slnx is fully supported by VS 2022 17.13+, VS 2026, Rider 2024.3+, and the .NET 10 SDK CLI, so this isn't a premature move.

Test plan

  • Verified a full Release|x64 build through VS 2026's MSBuild.exe against OpenCvSharp.slnx succeeds end-to-end (native OpenCvSharpExtern.vcxproj + all managed projects + OpenCvSharp.Tests/.Tests.Windows/.Tests.Avalonia), exit code 0.
  • CI passes unaffected (doesn't touch the solution file at all)

Summary by CodeRabbit

  • Build & Development
    • Migrated the Visual Studio solution to the newer .slnx format.
    • Updated the solution’s build configurations and platforms to match the prior setup.
    • Updated Windows build instructions to reference the new solution file.

.NET 10/VS 2026 (already the baseline this repo targets in CI and
TargetFrameworks) fully support the XML-based .slnx format, and no CI
workflow builds the .sln directly, so there's no pipeline risk. Generated
via `dotnet sln OpenCvSharp.sln migrate` and verified with a full
Release|x64 build through VS 2026's MSBuild (native OpenCvSharpExtern +
all managed projects + tests), then removed the old .sln.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@shimat
shimat changed the base branch from main to remove-dead-uwp-native-project July 18, 2026 04:03
@shimat shimat self-assigned this Jul 18, 2026
@coderabbitai

coderabbitai Bot commented Jul 18, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e62485f2-c80d-4c6b-9d9d-79d4b86feb8d

📥 Commits

Reviewing files that changed from the base of the PR and between 5c0ff95 and ecd489e.

📒 Files selected for processing (1)
  • docs/build-instructions.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/build-instructions.md

📝 Walkthrough

Walkthrough

The legacy OpenCvSharp.sln file was removed and replaced with OpenCvSharp.slnx, which lists solution projects and build configurations. Windows build instructions now reference the new solution filename.

Changes

Solution migration

Layer / File(s) Summary
Solution definition and build entry point
OpenCvSharp.slnx, docs/build-instructions.md
The new solution defines project entries, platforms, configurations, solution items, and native project build rules; Windows Step 4 now opens OpenCvSharp.slnx.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: replacing the .sln solution with a .slnx format.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch migrate-sln-to-slnx

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/build-instructions.md`:
- Line 52: Update the build instructions around OpenCvSharp.slnx to state that
opening or building it requires Visual Studio 2022 version 17.12 or later, or
another supported toolchain. Preserve the existing build guidance while clearly
qualifying the .slnx requirement.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 99e22dd3-9094-4865-a68d-b58816eab8aa

📥 Commits

Reviewing files that changed from the base of the PR and between b16529f and 5c0ff95.

📒 Files selected for processing (3)
  • OpenCvSharp.sln
  • OpenCvSharp.slnx
  • docs/build-instructions.md
💤 Files with no reviewable changes (1)
  • OpenCvSharp.sln

Comment thread docs/build-instructions.md Outdated
Base automatically changed from remove-dead-uwp-native-project to main July 18, 2026 04:12
Note the Visual Studio 2022 17.12+ requirement for opening/building
.slnx solutions (MSBuild 17.12 added baseline .slnx support; earlier
17.x releases can't parse it).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@shimat
shimat merged commit b22f983 into main Jul 18, 2026
14 checks passed
@shimat
shimat deleted the migrate-sln-to-slnx branch July 18, 2026 04:32
shimat added a commit that referenced this pull request Jul 18, 2026
Resolves the OpenCvSharp.sln/.slnx conflict: main migrated to the .slnx
format (#2059) while this branch still edited the old .sln, so the new
NativeAOT test project is registered in OpenCvSharp.slnx instead.
@shimat shimat added the enhancement New feature or improvement to OpenCvSharp label Jul 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or improvement to OpenCvSharp

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant