dotnet-execute 0.19.0

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

dotnet-exec

Package Latest Latest Preview
dotnet-execute dotnet-execute dotnet-execute Latest
ReferenceResolver ReferenceResolver ReferenceResolver Latest

default

Docker Pulls

BuiltWithDot.Net shield

中文介绍

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:

Github Action for executing without dotnet environment

Install/Update

dotnet tool

Latest stable version:

dotnet tool update -g dotnet-execute

Latest preview version:

dotnet tool update -g dotnet-execute --prerelease

Install failed? try the command below:

dotnet tool update -g dotnet-execute --prerelease --add-source https://api.nuget.org/v3/index.json --ignore-failed-sources

Container support

Execute with docker

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

Execute with podman

podman run --rm weihanli/dotnet-exec:latest "1+1"
podman run --rm weihanli/dotnet-exec:latest "Guid.NewGuid()"
podman run --rm --pull=always weihanli/dotnet-exec:latest "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.  net9.0 is compatible. 
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.20.0-preview-20240508-180124 137 5/8/2024
0.20.0-preview-20240504-132024 159 5/4/2024
0.20.0-preview-20240430-154848 130 4/30/2024
0.19.0 843 4/21/2024
0.19.0-preview-20240421-150257 143 4/21/2024
0.19.0-preview-20240418-124656 119 4/18/2024
0.19.0-preview-20240414-090727 347 4/14/2024
0.19.0-preview-20240325-125324 476 3/25/2024
0.19.0-preview-20240313-155620 487 3/13/2024
0.19.0-preview-20240302-202752 787 3/2/2024
0.18.1 2,448 3/2/2024
0.18.0 686 3/1/2024
0.18.0-preview-20240229-183143 722 2/29/2024
0.18.0-preview-20240229-171025 694 2/29/2024
0.18.0-preview-20240229-170010 572 2/29/2024
0.18.0-preview-20240229-133804 621 2/29/2024
0.18.0-preview-20240225-075052 653 2/25/2024
0.18.0-preview-20240218-125959 661 2/18/2024
0.17.0 1,065 2/6/2024
0.17.0-preview-20240206-052156 653 2/6/2024
0.17.0-preview-20240201-150911 801 2/1/2024
0.17.0-preview-20240127-065141 1,113 1/27/2024
0.17.0-preview-20240117-161410 834 1/17/2024
0.16.0 1,389 1/5/2024
0.16.0-preview-20240105-112404 1,312 1/5/2024
0.16.0-preview-20240105-111327 1,146 1/5/2024
0.16.0-preview-20240104-161712 1,022 1/4/2024
0.16.0-preview-20240104-064502 1,065 1/4/2024
0.16.0-preview-20240103-183808 996 1/3/2024
0.16.0-preview-20240102-132944 1,243 1/2/2024
0.16.0-preview-20240101-163843 1,199 1/1/2024
0.16.0-preview-20231230-064352 1,130 12/30/2023
0.16.0-preview-20231230-045759 1,032 12/30/2023
0.16.0-preview-20231230-043451 1,219 12/30/2023
0.16.0-preview-20231230-040947 1,290 12/30/2023
0.16.0-preview-20231229-151551 1,241 12/29/2023
0.16.0-preview-20231227-032350 1,056 12/27/2023
0.15.0 1,484 11/23/2023
0.15.0-preview-20231123-133547 1,248 11/23/2023
0.15.0-preview-20231123-123533 1,353 11/23/2023
0.15.0-preview-20231123-113815 1,344 11/23/2023
0.15.0-preview-20231122-010942 1,456 11/22/2023
0.15.0-preview-20231112-135031 1,274 11/12/2023
0.15.0-preview-20231105-060850 1,221 11/5/2023
0.15.0-preview-20231011-155919 1,464 10/11/2023
0.15.0-preview-20230920-150633 1,529 9/20/2023
0.15.0-preview-20230916-043614 1,718 9/16/2023
0.15.0-preview-20230827-040803 1,713 8/27/2023
0.15.0-preview-20230715-072914 1,908 7/15/2023
0.15.0-preview-20230614-132940 1,650 6/14/2023
0.15.0-preview-20230517-162215 1,775 5/17/2023
0.14.0 1,999 4/22/2023
0.14.0-preview-20230419-153939 1,936 4/19/2023
0.14.0-preview-20230418-162203 1,748 4/18/2023
0.14.0-preview-20230415-012305 1,824 4/15/2023
0.14.0-preview-20230414-123704 1,747 4/14/2023
0.14.0-preview-20230412-140151 1,911 4/12/2023
0.14.0-preview-20230402-061327 2,133 4/2/2023
0.14.0-preview-20230327-163300 1,968 3/27/2023
0.14.0-preview-20230327-160902 1,914 3/27/2023
0.13.0 1,893 3/16/2023
0.13.0-preview-20230315-162605 1,859 3/15/2023
0.13.0-preview-20230226-133827 1,626 2/26/2023
0.13.0-preview-20230222-162344 1,837 2/22/2023
0.12.0 2,026 12/3/2022
0.12.0-preview-20221203-104240 1,689 12/3/2022
0.12.0-preview-20221203-071257 1,923 12/3/2022
0.12.0-preview-20221203-022812 1,830 12/3/2022
0.12.0-preview-20221202-163150 1,770 12/2/2022
0.12.0-preview-20221130-165115 1,769 11/30/2022
0.12.0-preview-20221130-004835 1,748 11/30/2022
0.12.0-preview-20221130-004015 1,863 11/30/2022
0.12.0-preview-20221129-162650 1,808 11/29/2022
0.12.0-preview-20221129-154228 1,841 11/29/2022
0.12.0-preview-20221129-152839 1,727 11/29/2022
0.12.0-preview-20221129-151920 1,693 11/29/2022
0.12.0-preview-20221126-142415 1,763 11/26/2022
0.12.0-preview-20221126-084550 1,629 11/26/2022
0.12.0-preview-20221126-081432 1,696 11/26/2022
0.12.0-preview-20221126-032548 1,705 11/26/2022
0.12.0-preview-20221125-161857 1,729 11/25/2022
0.11.0 1,916 11/22/2022
0.11.0-preview-20221121-153206 1,628 11/21/2022
0.11.0-preview-20221120-151824 1,870 11/20/2022
0.11.0-preview-20221120-142840 1,803 11/20/2022
0.11.0-preview-20221120-032905 1,896 11/20/2022
0.10.0 1,871 11/15/2022
0.10.0-preview-20221110-171942 1,677 11/10/2022
0.9.0 1,837 11/9/2022
0.9.0-preview-20221108-155221 1,887 11/8/2022
0.9.0-preview-20221108-154122 1,960 11/8/2022
0.9.0-preview-20221108-150547 1,754 11/8/2022
0.9.0-preview-20221101-123718 2,003 11/1/2022
0.9.0-preview-20221101-005949 1,844 11/1/2022
0.9.0-preview-20221031-145931 1,933 10/31/2022
0.9.0-preview-20221031-143055 2,006 10/31/2022
0.9.0-preview-20221031-134022 1,887 10/31/2022
0.9.0-preview-20221028-150337 1,868 10/28/2022
0.8.0 2,013 10/26/2022
0.8.0-preview-20221026-123049 1,846 10/26/2022
0.8.0-preview-20221016-120205 1,938 10/16/2022
0.8.0-preview-20220926-131419 2,117 9/26/2022
0.8.0-preview-20220919-153952 1,910 9/19/2022
0.8.0-preview-20220917-130443 1,934 9/17/2022
0.8.0-preview-20220915-133117 1,934 9/15/2022
0.8.0-preview-20220812-154602 1,695 8/12/2022
0.8.0-preview-20220727-000453 1,638 7/27/2022
0.7.0 2,148 7/17/2022
0.7.0-preview-20220717-115727 1,696 7/17/2022
0.7.0-preview-20220717-101132 1,821 7/17/2022
0.7.0-preview-20220717-084614 1,843 7/17/2022
0.7.0-preview-20220703-012835 1,873 7/3/2022
0.7.0-preview-20220702-093315 1,771 7/2/2022
0.7.0-preview-20220702-090636 2,024 7/2/2022
0.7.0-preview-20220702-073801 2,021 7/2/2022
0.7.0-preview-20220702-071552 1,814 7/2/2022
0.6.0 2,237 7/1/2022
0.6.0-preview-20220701-143726 1,849 7/1/2022
0.5.0 2,181 6/26/2022
0.5.0-preview-20220626-092804 1,988 6/26/2022
0.5.0-preview-20220626-081644 1,783 6/26/2022
0.4.0 2,172 6/18/2022
0.4.0-preview-20220616-164516 1,988 6/16/2022
0.4.0-preview-20220614-045540 2,045 6/14/2022
0.4.0-preview-20220612-155832 2,082 6/12/2022
0.4.0-preview-20220611-152348 2,460 6/11/2022
0.4.0-preview-20220611-021759 2,278 6/11/2022
0.4.0-preview-20220611-015329 2,314 6/11/2022
0.3.0 2,597 6/5/2022
0.3.0-preview-20220605-124120 2,410 6/5/2022
0.3.0-preview-20220605-122629 2,138 6/5/2022
0.3.0-preview-20220605-112734 2,371 6/5/2022
0.2.0 2,334 5/29/2022
0.2.0-preview-20220529-042432 2,114 5/29/2022
0.2.0-preview-20220525-151739 1,945 5/25/2022
0.2.0-preview-20220523-162548 2,086 5/23/2022
0.2.0-preview-20220523-151902 2,156 5/23/2022
0.2.0-preview-20220523-002551 2,167 5/23/2022
0.2.0-preview-20220522-165239 2,400 5/22/2022
0.2.0-preview-20220522-145024 2,189 5/22/2022
0.2.0-preview-20220518-154317 3,874 5/18/2022
0.2.0-preview-20220517-164722 4,121 5/17/2022
0.2.0-preview-20220517-162037 4,155 5/17/2022
0.1.1 4,718 5/4/2022
0.1.1-preview-20220504-152218 4,076 5/4/2022
0.1.0 2,536 5/4/2022
0.1.0-preview-20220504-072339 2,472 5/4/2022
0.1.0-preview-20220504-050757 2,493 5/4/2022
0.1.0-preview-20220503-161347 2,404 5/3/2022