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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MMonrad.Nuke.Slnx" Version="0.0.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MMonrad.Nuke.Slnx" Version="0.0.8" />
                    
Directory.Packages.props
<PackageReference Include="MMonrad.Nuke.Slnx" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MMonrad.Nuke.Slnx --version 0.0.8
                    
#r "nuget: MMonrad.Nuke.Slnx, 0.0.8"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MMonrad.Nuke.Slnx@0.0.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MMonrad.Nuke.Slnx&version=0.0.8
                    
Install as a Cake Addin
#tool nuget:?package=MMonrad.Nuke.Slnx&version=0.0.8
                    
Install as a Cake Tool

Nuke.Slnx

Latest Release Latest Pre-Release Downloads License

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 .slnx files into strongly-typed objects
  • ✍️ Modify solution metadata programmatically during a NUKE build
  • 🔁 Commit or regenerate .slnx files in CI without manual edits
  • 🧩 Designed to plug directly into existing NukeBuild classes

📦 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 using nuke :setup, the CLI will not detect your .slnx file. When asked to select a solution, choose None. Afterwards, manually update your .nuke/parameters.json file to point to your .slnx instead 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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