Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 29 days 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 4 years ago)
- Default Branch: main
- Last Pushed: 2023-02-22T04:22:25.000Z (almost 2 years ago)
- Last Synced: 2024-12-11T08:39:19.942Z (about 2 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: 11
- 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
![.NET Tool Release](https://github.com/piraces/dotnex/workflows/.NET%20Tool%20Release/badge.svg)
[![.NET Docs publish](https://github.com/piraces/dotnex/actions/workflows/docs.yml/badge.svg)](https://github.com/piraces/dotnex/actions/workflows/docs.yml)
[![.NET CI](https://github.com/piraces/dotnex/actions/workflows/dotnet-test.yml/badge.svg)](https://github.com/piraces/dotnex/actions/workflows/dotnet-test.yml)
[![CodeQL](https://github.com/piraces/dotnex/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/piraces/dotnex/actions/workflows/codeql-analysis.yml)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=piraces_dotnex&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=piraces_dotnex)![Nuget](https://img.shields.io/nuget/v/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 executeOptions:
-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.xThe 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.