ALSI.WorkspaceExplorer 0.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global ALSI.WorkspaceExplorer --version 0.1.0
                    
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 ALSI.WorkspaceExplorer --version 0.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=ALSI.WorkspaceExplorer&version=0.1.0
                    
nuke :add-package ALSI.WorkspaceExplorer --version 0.1.0
                    

<div align="center">

<img src="assets/dotnet-workspace-explorer.svg" width="128" height="128" alt="dotnet-workspace-explorer logo">

dotnet-workspace-explorer

A .NET solution explorer for the command line and editors.

Status: experimental Runtime: .NET 10 License: MIT

</div>

Workspace Explorer reads and edits .NET solutions. It works with .sln and .slnx files across C#, F#, and Visual Basic projects. Solution filters (.slnf) are available as read-only views.

Install

dotnet tool install --global ALSI.WorkspaceExplorer

Run it as either dotnet-we or dotnet we:

dotnet-we solution ./Demo.slnx list
dotnet we solution ./Demo.slnx list

Use

Add a project:

dotnet-we solution ./Demo.slnx add ./src/Demo.Core/Demo.Core.csproj

List the projects in a solution or read-only solution filter:

dotnet-we solution ./Demo.sln list
dotnet-we solution ./Demo.slnf list

Run normal .NET commands against a selected workspace:

dotnet-we build ./Demo.slnx --configuration Release
dotnet-we test ./Demo.slnx

Workspace Explorer checks changes before it writes them. Editor clients preview changes first and send the expected workspace revision when they apply them.

JSON output

Add --json when another program needs the result:

dotnet-we --json solution ./Demo.slnx list

A successful command returns JSON like this:

{
  "commandId": "solution",
  "diagnostics": [],
  "externalExitCode": 0,
  "result": {
    "childArguments": [
      "solution",
      "./Demo.slnx",
      "list"
    ],
    "standardError": "",
    "standardOutput": "Project(s)\n----------\nsrc/Demo.Core/Demo.Core.csproj\n",
    "summary": "dotnet command completed"
  },
  "revision": 0,
  "schemaVersion": 1,
  "success": true
}

Errors use the same shape and include diagnostics:

{
  "commandId": "solution",
  "diagnostics": [
    {
      "artifactPath": null,
      "code": "external_tool_failed",
      "correlationId": "1b724f33-3943-48fd-85cc-cdc3e02a26c6",
      "location": null,
      "retryable": true,
      "safeMessage": "The dotnet command failed.",
      "severity": "Error"
    }
  ],
  "externalExitCode": 1,
  "result": {
    "childArguments": [
      "solution",
      "./Missing.slnx",
      "list"
    ],
    "standardError": "Could not find solution or directory `./Missing.slnx`.\n",
    "standardOutput": "",
    "summary": null
  },
  "revision": null,
  "schemaVersion": 1,
  "success": false
}

Editor integration

Editors can start the MessagePack-RPC server for a workspace:

dotnet-we workspace ./Demo.slnx --pipe

Project export uses three workers by default. Set a different capacity when needed:

dotnet-we workspace ./Demo.slnx --pipe --export-workers 4

The Neovim integration is available from dotnet-workspace-explorer.nvim. Protocol details are in:

Development

The repository uses .NET 10:

dotnet tool restore
dotnet restore Dotnet.WorkspaceExplorer.slnx
dotnet build Dotnet.WorkspaceExplorer.slnx --configuration Release --no-restore

Performance results and methods are under docs/benchmarking.

License

MIT. See LICENSE.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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.

This package has no dependencies.

Version Downloads Last Updated
0.6.0 150 8/13/2026
0.5.0 119 8/12/2026
0.4.1 119 8/12/2026
0.4.0 119 8/12/2026
0.3.0 133 8/4/2026
0.2.1 140 8/3/2026
0.2.0 128 8/3/2026
0.1.0 136 8/2/2026