dotnet-execute 0.15.0-preview-20230517-162215

This is a prerelease version of dotnet-execute.
There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet tool install --global dotnet-execute --version 0.15.0-preview-20230517-162215
                    
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 dotnet-execute --version 0.15.0-preview-20230517-162215
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-execute&version=0.15.0-preview-20230517-162215&prerelease
                    
nuke :add-package dotnet-execute --version 0.15.0-preview-20230517-162215
                    

dotnet-exec

dotnet-execute

dotnet-execute Latest

default

Docker Pulls

中文介绍

Intro

dotnet-exec is a command-line tool for executing C# program without a project file, and you can have your custom entry point other than Main method

Install/Update

dotnet tool

Latest stable version:

dotnet tool update -g dotnet-execute

Latest preview version:

dotnet tool update -g dotnet-execute --prerelease

Container support

Execute with docker

docker run --rm weihanli/dotnet-exec:latest dotnet-exec "1+1"
docker run --rm weihanli/dotnet-exec:latest dotnet-exec "Guid.NewGuid()"
docker run --rm --pull=always weihanli/dotnet-exec:latest dotnet-exec "ApplicationHelper.RuntimeInfo"

Execute with podman

podman run --rm weihanli/dotnet-exec:latest dotnet-exec "1+1"
podman run --rm weihanli/dotnet-exec:latest dotnet-exec "Guid.NewGuid()"
podman run --rm --pull=always weihanli/dotnet-exec:latest dotnet-exec "ApplicationHelper.RuntimeInfo"

for full image tag list, see https://hub.docker.com/r/weihanli/dotnet-exec/tags

Examples

Get started

Execute local file:

dotnet-exec HttpPathJsonSample.cs

Execute local file with custom entry point:

dotnet-exec 'HttpPathJsonSample.cs' --entry MainTest

Execute remote file:

dotnet-exec https://github.com/WeihanLi/SamplesInPractice/blob/master/net7Sample/Net7Sample/ArgumentExceptionSample.cs

Execute raw code:

dotnet-exec 'Console.WriteLine(1+1);'

Execute raw script:

dotnet-exec 'script:1+1'
dotnet-exec 'Guid.NewGuid()'

References

Execute raw code with custom references:

NuGet package reference:

dotnet-exec 'CsvHelper.GetCsvText(new[]{1,2,3}).Dump();' -r "nuget: WeihanLi.Npoi,2.4.2" -u "WeihanLi.Npoi"

Local dll reference:

dotnet-exec 'CsvHelper.GetCsvText(new[]{1,2,3}).Dump();' -r "./out/WeihanLi.Npoi.dll" -u "WeihanLi.Npoi"

Local dll in a folder references:

dotnet-exec 'CsvHelper.GetCsvText(new[]{1,2,3}).Dump();' -r "folder: ./out" -u "WeihanLi.Npoi"

Local project reference:

dotnet-exec 'CsvHelper.GetCsvText(new[]{1,2,3}).Dump();' -r "project: ./WeihanLi.Npoi.csproj" -u "WeihanLi.Npoi"

Framework reference:

dotnet-exec 'WebApplication.Create().Run();' --reference 'framework:web'

Web framework reference in one option:

dotnet-exec 'WebApplication.Create().Run();' --web

Usings

Execute raw code with custom usings:

dotnet-exec 'WriteLine(1+1);' --using "static System.Console"

Execute script with custom reference:

dotnet-exec 'CsvHelper.GetCsvText(new[]{1,2,3}).Dump()' -r "nuget:WeihanLi.Npoi,2.4.2" -u WeihanLi.Npoi

More

Execute with additional dependencies

dotnet-exec 'typeof(LocalType).FullName.Dump();' --ad FileLocalType2.cs
dotnet-exec 'typeof(LocalType).FullName.Dump();' --addition FileLocalType2.cs

Execute with exacting references and usings from the project file

dotnet-exec 'typeof(LocalType).FullName.Dump();' --project ./Sample.csproj

Execute file with preview features:

dotnet-exec RawStringLiteral.cs --preview

Config Profile

You can customize the config you used often into a config profile to reuse it for convenience.

List the profiles had configured:

dotnet-exec profile ls

Configure a profile:

dotnet-exec profile set web -r "nuget:WeihanLi.Web.Extensions" -u 'WeihanLi.Web.Extensions' --web --wide false

Get the profile details:

dotnet-exec profile get web

Remove the profile not needed:

dotnet-exec profile rm web

Executing with specific profile config:

dotnet-exec 'WebApplication.Create().Chain(_=>_.MapRuntimeInfo()).Run();' --profile web --using 'WeihanLi.Extensions'

image

Executing with specific profile config and remove preset specific using:

dotnet-exec 'WebApplication.Create().Run();' --profile web --using '-WeihanLi.Extensions'

Acknowledgements

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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.28.0-preview-20250516-140312 181 5/16/2025
0.28.0-preview-20250412-015004 321 4/12/2025
0.28.0-preview-20250330-151243 298 3/30/2025
0.27.0 1,739 3/29/2025
0.27.0-preview-20250329-061056 126 3/29/2025
0.27.0-preview-20250320-150236 167 3/20/2025
0.26.0 774 3/8/2025
0.26.0-preview-20250308-054159 231 3/8/2025
0.26.0-preview-20250308-052015 236 3/8/2025
0.26.0-preview-20250306-003649 241 3/6/2025
0.26.0-preview-20250304-161120 334 3/4/2025
0.26.0-preview-20250304-153109 301 3/4/2025
0.26.0-preview-20250213-145629 332 2/13/2025
0.26.0-preview-20250104-155937 366 1/4/2025
0.25.0 3,003 12/15/2024
0.25.0-preview-20241206-154703 304 12/6/2024
0.25.0-preview-20241205-003755 135 12/5/2024
0.25.0-preview-20241205-001213 103 12/5/2024
0.24.0 1,647 11/24/2024
0.24.0-preview-20241124-035720 188 11/24/2024
0.24.0-preview-20241117-021926 279 11/17/2024
0.24.0-preview-20241025-003522 447 10/25/2024
0.24.0-preview-20241010-163230 249 10/10/2024
0.24.0-preview-20241009-161812 325 10/9/2024
0.24.0-preview-20241009-152619 188 10/9/2024
0.24.0-preview-20241004-001036 353 10/4/2024
0.24.0-preview-20241003-015422 257 10/3/2024
0.24.0-preview-20241002-173926 219 10/2/2024
0.24.0-preview-20240918-153023 330 9/18/2024
0.24.0-preview-20240911-171636 235 9/11/2024
0.23.0 3,812 8/29/2024
0.23.0-preview-20240824-102835 212 8/24/2024
0.23.0-preview-20240815-002214 358 8/15/2024
0.22.0 2,053 7/10/2024
0.21.0 1,205 6/15/2024
0.20.0 595 6/6/2024
0.19.0 1,773 4/21/2024
0.18.1 2,549 3/2/2024
0.18.0 758 3/1/2024
0.17.0 1,124 2/6/2024
0.16.0 1,466 1/5/2024
0.15.0 1,527 11/23/2023
0.14.0 2,073 4/22/2023
0.13.0 1,985 3/16/2023
0.12.0 2,099 12/3/2022
0.11.0 1,984 11/22/2022
0.10.0 1,934 11/15/2022
0.9.0 1,921 11/9/2022
0.8.0 2,100 10/26/2022
0.7.0 2,207 7/17/2022
0.6.0 2,323 7/1/2022
0.5.0 2,244 6/26/2022
0.4.0 2,229 6/18/2022
0.3.0 2,690 6/5/2022
0.2.0 2,399 5/29/2022
0.1.1 4,812 5/4/2022
0.1.0 2,595 5/4/2022