https://github.com/piraces/dotnex
A simple .NET tool to execute other dotnet tools without installing them globally or in a project
https://github.com/piraces/dotnex
cli cross-platform dotnet dotnet-cli dotnet-tool dotnet-tools global tool
Last synced: 4 months ago
JSON representation
A simple .NET tool to execute other dotnet tools without installing them globally or in a project
- Host: GitHub
- URL: https://github.com/piraces/dotnex
- Owner: piraces
- License: mit
- Created: 2021-01-05T22:10:34.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2023-02-22T04:22:25.000Z (almost 3 years ago)
- Last Synced: 2025-04-14T22:03:14.102Z (10 months ago)
- Topics: cli, cross-platform, dotnet, dotnet-cli, dotnet-tool, dotnet-tools, global, tool
- Language: C#
- Homepage: https://piraces.github.io/dotnex/
- Size: 502 KB
- Stars: 12
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# dotnex

[](https://github.com/piraces/dotnex/actions/workflows/docs.yml)
[](https://github.com/piraces/dotnex/actions/workflows/dotnet-test.yml)
[](https://github.com/piraces/dotnex/actions/workflows/codeql-analysis.yml)
[](https://sonarcloud.io/summary/new_code?id=piraces_dotnex)

A simple .NET tool to execute other dotnet tools without installing them globally or in a project (a similar approach to [npx](https://www.npmjs.com/package/npx) from [npm](https://www.npmjs.com/)).
[**View in Nuget.org**](https://www.nuget.org/packages/dotnex/)
## About
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.
### Features:
- **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](https://github.com/dotnet/sourcelink). 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.
## Usage
```
dotnex [options] [...]
```
Where the arguments and options are the following:
```
Arguments:
The NuGet Package Id of the tool to execute []
Arguments to pass to the tool to execute
Options:
-v, --use-version Version of the tool to use
-f, --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!!
```
## Installation
Install the [dotnet cli](https://dotnet.microsoft.com/download) (included in the .NET SDK) and then run the following command:
```
dotnet tool install -g dotnex
```
### SDK version
`dotnex` is published for all current supported SDKs from Microsoft:
- .NET Core 3.1.x
- .NET 5.0.x
- .NET 6.0.x
The main idea is to maintain `dotnex` up-to-date with all current supported SDKs from Microsoft.
## Contributions
Feel free to open an issue or a PR if you want to without any problem :)
## License
This project is licensed under the [MIT License](LICENSE).
See the `LICENSE` file in the root of this repository.