A simple .NET tool to execute other dotnet tools without installing them globally or in a project
A simple .NET tool to execute other dotnet tools without installing them globally or in a project (a similar approach to npx from npm).
This simple tool provides the minimum necessary to run dotnet tools without the need of installing them globally or in a project, since this is not yet supported in dotnet cli.
Cache. This tool provides caching of used tools in a temporary directory (for better performance).
Version and framework selection. You can specify whatever version you want and the target framework to use in every run.
SourceLink for debugging. The binaries can be debbuged with Source Link. Example (with Developer Command Prompt for VS): devenv /debugexe c:\Users\rich\.dotnet\tools\dotnex.exe
Symbols package. A symbols package is published too in the publish process in order to ease the debugging of the NuGet package.
dotnex [options] <TOOL> [<TOOL-ARGS>...]
Where the arguments and options are the following:
Arguments:
<TOOL> The NuGet Package Id of the tool to execute []
<TOOL-ARGS> Arguments to pass to the tool to execute
Options:
-v, --use-version <use-version> Version of the tool to use
-f, --framework <framework> Target framework for the tool
-r, --remove-cache Flag to remove the local cache before running the tool (can be run without tool)
--version Show version information
-?, -h, --help Show help and usage information
This same output can be obtained running the tool with the help option:
dotnex -h
Example with the simple dotnetsay
tool:
dotnex dotnetsay Hello World!!
Install the dotnet cli (included in the .NET SDK) and then run the following command:
dotnet tool install -g dotnex
dotnex
is published for all current supported SDKs from Microsoft:
The main idea is to maintain dotnex
up-to-date with all current supported SDKs from Microsoft.
Feel free to open an issue or a PR if you want to without any problem 😃
This project is licensed under the MIT License.
See the LICENSE
file in the root of this repository.