sln-items-sync 1.3.1

dotnet tool install --global sln-items-sync --version 1.3.1
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local sln-items-sync --version 1.3.1
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=sln-items-sync&version=1.3.1
nuke :add-package sln-items-sync --version 1.3.1

SolutionItems sync tool

Run this against a .sln file with a list of paths and it will update the solution items to match

Latest Release Downloads

Install

dotnet tool install --global sln-items-sync

You'll need ~/.dotnet/tools on the PATH if it isn't already.

Update

dotnet tool update -g sln-items-sync

Usage

sln-items-sync --solution sln-items-sync.sln README.md .github

Files and folders will be recursively add/removed to match the filesystem.

SolutionItems folder will be created and populated if missing. The name can be customized with --folder.

License

Development

This tool is made possible by the SlnEditor nuget package which provides parsing of .sln files, the ability to modify them in-memory with an object model, and then to write them back to string format with ordering largely preserved intact.

There is a suite of tests that use a real filesystem to provide end to end coverage of the tool, only stopping short of testing the real binary (instead calling the same entry point as the main program). Any pull requests need to show their modified behaviour in these tests.

There are .sh scripts for upgrading dotnet-core and nuget dependencies in the repo root. With the tests we can ship these patches with high confidence.

The dotnet version last worked with locally is controlled by .tool-versions which allows asdf-vm to make the correct version available. If you don't already have it, install it and then run asdf install to set up dotnet-core at the right version. It's a great tool so well worth taking the time.

Backstory

If you're interested in how this came about read the genesis story of sln-items-sync on my blog.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.3.1 202 2/15/2024
1.3.0 139 2/15/2024
1.2.2 168 2/14/2024
1.2.1 126 1/29/2024
1.2.0 130 1/18/2024
1.1.3 114 1/17/2024
1.1.2 161 1/11/2024
1.1.1 149 1/8/2024
1.1.0 131 1/8/2024
1.0.3 129 1/8/2024
1.0.2 146 1/7/2024
1.0.1 138 1/7/2024
1.0.0 123 1/7/2024