MMonrad.Nuke.Slnx
0.0.8
dotnet add package MMonrad.Nuke.Slnx --version 0.0.8
NuGet\Install-Package MMonrad.Nuke.Slnx -Version 0.0.8
<PackageReference Include="MMonrad.Nuke.Slnx" Version="0.0.8" />
<PackageVersion Include="MMonrad.Nuke.Slnx" Version="0.0.8" />
<PackageReference Include="MMonrad.Nuke.Slnx" />
paket add MMonrad.Nuke.Slnx --version 0.0.8
#r "nuget: MMonrad.Nuke.Slnx, 0.0.8"
#:package MMonrad.Nuke.Slnx@0.0.8
#addin nuget:?package=MMonrad.Nuke.Slnx&version=0.0.8
#tool nuget:?package=MMonrad.Nuke.Slnx&version=0.0.8
Nuke.Slnx
Nuke.Slnx is a lightweight extension library for working with .slnx solution metadata files directly from NUKE build pipelines.
The .slnx file format is an emerging companion to standard .sln files, enabling richer solution configuration with structured metadata. Nuke.Slnx adds strongly-typed utilities and helpers for reading, parsing, and modifying .slnx files as part of automated build and CI workflows.
✅ Features
- 📄 Parse
.slnxfiles into strongly-typed objects - ✍️ Modify solution metadata programmatically during a NUKE build
- 🔁 Commit or regenerate
.slnxfiles in CI without manual edits - 🧩 Designed to plug directly into existing
NukeBuildclasses
📦 Installation
Add the package to your NUKE build project:
dotnet add package Nuke.Slnx
🚀 Quickstart
using Nuke.Slnx;
using Nuke.Common.ProjectModel;
public class Build : NukeBuild
{
[SolutionX] readonly SolutionX Solution;
}
💡 Note: Unfortunately, the world isn't perfect—and neither is the current NUKE CLI support for
.slnx. If you're usingnuke :setup, the CLI will not detect your.slnxfile. When asked to select a solution, chooseNone. Afterwards, manually update your.nuke/parameters.jsonfile to point to your.slnxinstead of a.sln.
Example:
{
"$schema": "build.schema.json",
"Solution": "src/Nuke.Slnx.slnx"
}
🧠 Why .slnx?
You use SLNX for a more human-readable, maintainable, and tool-friendly .NET solution file format, replacing legacy .sln files to reduce complexity, simplify collaboration, and improve Git conflict resolution through its clean, XML-based structure with convention-based defaults.
Modern .NET workflows—CI/CD pipelines, cross-platform development, and automated tooling—benefit from SLNX's structured approach and predictable formatting, fully supported by Visual Studio, the .NET CLI, and IDE-agnostic tooling.
✅ Key Benefits of SLNX
| Benefit | Description |
|---|---|
| Improved Readability | XML-based structure replaces cryptic GUID blocks with clean, understandable configuration. |
| Simplified Collaboration | Convention-based layout reduces cognitive overhead and makes large solution files easier to review and evolve with teams. |
| Reduced Merge Conflicts | Predictable and ordered XML dramatically lowers Git conflicts compared to scattered .sln changes. |
| Tooling & Automation Friendly | Structured format integrates naturally with CI/CD pipelines, code generators, and build automation like NUKE. |
| Modern Design | Designed with current .NET development practices in mind, including cloud-native and cross-platform workflows. |
| Cross-Platform Compatibility | Supported in .NET 9+, making SLNX a stable option across Windows, Linux, and macOS environments. |
🤝 Contributing
Contributions are welcome! Feel free to open issues or submit PRs with improvements, discussions, or new feature proposals around .slnx tooling and NUKE integration.
📜 License
Distributed under the MIT License. See LICENSE for more information.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Nuke.Build (>= 9.0.0 && < 10.0.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.8 | 728 | 10/12/2025 |