diff --git a/.github/workflows/build+test+deploy.yml b/.github/workflows/build+test+deploy.yml
index 10798ee27..02b6f0c48 100644
--- a/.github/workflows/build+test+deploy.yml
+++ b/.github/workflows/build+test+deploy.yml
@@ -38,6 +38,28 @@ jobs:
- name: Run FSharpLint on itself
run: make selfcheck
+ testToolInvocation:
+ needs: buildAndTest
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v4
+ with:
+ global-json-file: global.json
+ - name: Setup .NET 10
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: '10.0.x'
+ - name: Restore tools
+ run: dotnet tool restore
+ - name: Build and pack
+ run: dotnet fsi build.fsx -t Pack
+ - name: Remove global.json to allow using .NET 10 SDK (for dnx)
+ run: rm --force global.json
+ - name: Run fsharplint as tool using dnx
+ run: dnx fsharplint lint ./src/FSharpLint.Console/FSharpLint.Console.fsproj --source ./out/ --prerelease --yes --interactive false
deployReleaseBinaries:
needs: buildAndTest
@@ -139,8 +161,8 @@ jobs:
EOF
- name: Install FSharpLint from downloaded binaries
- run: dotnet tool install --global dotnet-fsharplint --prerelease --framework net8.0
+ run: dotnet tool install --global fsharplint --prerelease --framework net8.0
- name: Add .NET tools to PATH
run: echo "$HOME/.dotnet/tools" >> $GITHUB_PATH
- name: Lint FSharpLint.Console project (net8.0 only)
- run: dotnet fsharplint lint ./src/FSharpLint.Console/FSharpLint.Console.fsproj --framework net8.0
\ No newline at end of file
+ run: fsharplint lint ./src/FSharpLint.Console/FSharpLint.Console.fsproj --framework net8.0
\ No newline at end of file
diff --git a/README.md b/README.md
index 3668e982e..32ab7464f 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ The [docs](http://fsprojects.github.io/FSharpLint/) contain an overview of the t
Package | Version
------- | --------
-[dotnet tool](https://www.nuget.org/packages/dotnet-fsharplint/) | [](https://www.nuget.org/packages/dotnet-fsharplint/)
+[dotnet tool](https://www.nuget.org/packages/fsharplint/) | [](https://www.nuget.org/packages/fsharplint/)
[API](https://www.nuget.org/packages/FSharpLint.Core/) | [](https://www.nuget.org/packages/FSharpLint.Core/)
## How to build
diff --git a/docs/content/how-tos/install-dotnet-tool.md b/docs/content/how-tos/install-dotnet-tool.md
index 69d996ffa..22dc168e8 100644
--- a/docs/content/how-tos/install-dotnet-tool.md
+++ b/docs/content/how-tos/install-dotnet-tool.md
@@ -4,16 +4,24 @@ category: how-to
menu_order: 1
---
-# Installing as dotnet tool
+# Running fsharplint
+
+The console application is a wrapper around the linter. For basic usage, just run `dnx fsharplint lint `, where `input` can be an fsproj, sln, fs, fsx file, or a string of source code. This will install (if run for the first time) and run fsharplint.
+
+Run `dnx fsharplint --help` for full usage information.
+
+# Installing and runnnig on .NET versions before 10
+
+## Installing as dotnet tool
The linter can be [installed as a dotnet tool](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-tool-install).
-Install as a global tool: `dotnet tool install -g dotnet-fsharplint`.
+Install as a global tool: `dotnet tool install -g fsharplint`.
-Install as tool to specific directory: `dotnet tool install --tool-path dotnet-fsharplint`
+Install as tool to specific directory: `dotnet tool install --tool-path fsharplint`
## Running the Console Application
-The console application is a wrapper around the linter. For basic usage, just run `dotnet fsharplint lint `, where `input` can be an fsproj, sln, fs, fsx file, or a string of source code.
+If installed as a local tool, run `dotnet fsharplint lint `
-Run `dotnet fsharplint --help` for full usage information.
+If installed as a global tool, run it as `fsharplint lint `.
diff --git a/src/FSharpLint.Console/FSharpLint.Console.fsproj b/src/FSharpLint.Console/FSharpLint.Console.fsproj
index a614e3105..1cff33374 100644
--- a/src/FSharpLint.Console/FSharpLint.Console.fsproj
+++ b/src/FSharpLint.Console/FSharpLint.Console.fsproj
@@ -9,7 +9,7 @@
F#;fsharp;lint;FSharpLint;fslint;cliDotNetCliTooltrue
- dotnet-fsharplint
+ fsharplintFSharpLint.ConsoletrueMajor
diff --git a/tests/FSharpLint.FunctionalTest/TestConsoleApplication.fs b/tests/FSharpLint.FunctionalTest/TestConsoleApplication.fs
index bd6f9cb06..94f229c43 100644
--- a/tests/FSharpLint.FunctionalTest/TestConsoleApplication.fs
+++ b/tests/FSharpLint.FunctionalTest/TestConsoleApplication.fs
@@ -39,7 +39,7 @@ module Tests =
|> Seq.sortByDescending _.Name
|> Seq.tryHead
match dllDir with
- | Some dir -> dir.FullName > "dotnet-fsharplint.dll"
+ | Some dir -> dir.FullName > "fsharplint.dll"
| None -> failwithf "No target framework folder found in %s" binDir.FullName
let startInfo = ProcessStartInfo