dotnet-execute 0.16.0-preview-20231227-032350

This is a prerelease version of dotnet-execute.
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global dotnet-execute --version 0.16.0-preview-20231227-032350
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.16.0-preview-20231227-032350
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-execute&version=0.16.0-preview-20231227-032350&prerelease
nuke :add-package dotnet-execute --version 0.16.0-preview-20231227-032350

dotnet-exec

Package Latest Latest Preview
dotnet-execute dotnet-execute dotnet-execute Latest
ReferenceResolver ReferenceResolver ReferenceResolver 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 the Main method

Slides:

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 the 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 a 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 the raw script:

dotnet-exec '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. 
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.22.0-preview-20240629-121817 41 6/29/2024
0.22.0-preview-20240626-161537 58 6/26/2024
0.22.0-preview-20240625-162946 56 6/25/2024
0.22.0-preview-20240623-012555 84 6/23/2024
0.21.0 831 6/15/2024
0.21.0-preview-20240612-121807 121 6/12/2024
0.20.0 500 6/6/2024
0.20.0-preview-20240524-051120 194 5/24/2024
0.20.0-preview-20240515-154245 186 5/15/2024
0.20.0-preview-20240514-011719 144 5/14/2024
0.20.0-preview-20240508-180124 159 5/8/2024
0.20.0-preview-20240504-132024 164 5/4/2024
0.20.0-preview-20240430-154848 135 4/30/2024
0.19.0 1,692 4/21/2024
0.19.0-preview-20240421-150257 150 4/21/2024
0.19.0-preview-20240418-124656 120 4/18/2024
0.19.0-preview-20240414-090727 350 4/14/2024
0.19.0-preview-20240325-125324 477 3/25/2024
0.19.0-preview-20240313-155620 494 3/13/2024
0.19.0-preview-20240302-202752 792 3/2/2024
0.18.1 2,458 3/2/2024
0.18.0 694 3/1/2024
0.18.0-preview-20240229-183143 734 2/29/2024
0.18.0-preview-20240229-171025 695 2/29/2024
0.18.0-preview-20240229-170010 577 2/29/2024
0.18.0-preview-20240229-133804 626 2/29/2024
0.18.0-preview-20240225-075052 655 2/25/2024
0.18.0-preview-20240218-125959 662 2/18/2024
0.17.0 1,069 2/6/2024
0.17.0-preview-20240206-052156 654 2/6/2024
0.17.0-preview-20240201-150911 802 2/1/2024
0.17.0-preview-20240127-065141 1,114 1/27/2024
0.17.0-preview-20240117-161410 839 1/17/2024
0.16.0 1,393 1/5/2024
0.16.0-preview-20240105-112404 1,313 1/5/2024
0.16.0-preview-20240105-111327 1,148 1/5/2024
0.16.0-preview-20240104-161712 1,023 1/4/2024
0.16.0-preview-20240104-064502 1,072 1/4/2024
0.16.0-preview-20240103-183808 998 1/3/2024
0.16.0-preview-20240102-132944 1,244 1/2/2024
0.16.0-preview-20240101-163843 1,200 1/1/2024
0.16.0-preview-20231230-064352 1,131 12/30/2023
0.16.0-preview-20231230-045759 1,040 12/30/2023
0.16.0-preview-20231230-043451 1,220 12/30/2023
0.16.0-preview-20231230-040947 1,292 12/30/2023
0.16.0-preview-20231229-151551 1,243 12/29/2023
0.16.0-preview-20231227-032350 1,057 12/27/2023
0.15.0 1,486 11/23/2023
0.15.0-preview-20231123-133547 1,250 11/23/2023
0.15.0-preview-20231123-123533 1,378 11/23/2023
0.15.0-preview-20231123-113815 1,345 11/23/2023
0.15.0-preview-20231122-010942 1,463 11/22/2023
0.15.0-preview-20231112-135031 1,275 11/12/2023
0.15.0-preview-20231105-060850 1,223 11/5/2023
0.15.0-preview-20231011-155919 1,465 10/11/2023
0.15.0-preview-20230920-150633 1,530 9/20/2023
0.15.0-preview-20230916-043614 1,719 9/16/2023
0.15.0-preview-20230827-040803 1,719 8/27/2023
0.15.0-preview-20230715-072914 1,910 7/15/2023
0.15.0-preview-20230614-132940 1,652 6/14/2023
0.15.0-preview-20230517-162215 1,777 5/17/2023
0.14.0 2,001 4/22/2023
0.14.0-preview-20230419-153939 1,937 4/19/2023
0.14.0-preview-20230418-162203 1,749 4/18/2023
0.14.0-preview-20230415-012305 1,825 4/15/2023
0.14.0-preview-20230414-123704 1,749 4/14/2023
0.14.0-preview-20230412-140151 1,916 4/12/2023
0.14.0-preview-20230402-061327 2,135 4/2/2023
0.14.0-preview-20230327-163300 1,977 3/27/2023
0.14.0-preview-20230327-160902 1,915 3/27/2023
0.13.0 1,895 3/16/2023
0.13.0-preview-20230315-162605 1,861 3/15/2023
0.13.0-preview-20230226-133827 1,627 2/26/2023
0.13.0-preview-20230222-162344 1,838 2/22/2023
0.12.0 2,030 12/3/2022
0.12.0-preview-20221203-104240 1,690 12/3/2022
0.12.0-preview-20221203-071257 1,925 12/3/2022
0.12.0-preview-20221203-022812 1,832 12/3/2022
0.12.0-preview-20221202-163150 1,772 12/2/2022
0.12.0-preview-20221130-165115 1,770 11/30/2022
0.12.0-preview-20221130-004835 1,750 11/30/2022
0.12.0-preview-20221130-004015 1,864 11/30/2022
0.12.0-preview-20221129-162650 1,809 11/29/2022
0.12.0-preview-20221129-154228 1,842 11/29/2022
0.12.0-preview-20221129-152839 1,729 11/29/2022
0.12.0-preview-20221129-151920 1,694 11/29/2022
0.12.0-preview-20221126-142415 1,764 11/26/2022
0.12.0-preview-20221126-084550 1,630 11/26/2022
0.12.0-preview-20221126-081432 1,697 11/26/2022
0.12.0-preview-20221126-032548 1,706 11/26/2022
0.12.0-preview-20221125-161857 1,730 11/25/2022
0.11.0 1,919 11/22/2022
0.10.0 1,874 11/15/2022
0.9.0 1,839 11/9/2022
0.8.0 2,017 10/26/2022
0.7.0 2,150 7/17/2022
0.6.0 2,241 7/1/2022
0.5.0 2,190 6/26/2022
0.4.0 2,174 6/18/2022
0.3.0 2,599 6/5/2022
0.2.0 2,336 5/29/2022
0.1.1 4,722 5/4/2022
0.1.0 2,543 5/4/2022