Hubert-Rybak / dotnet-warp

.NET Core global tool for producing single executable using Warp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Important note for .NET Core 3.0

Assembly trimming via this tool will not work on .NET Core 3.0 (so you could only pack app with this tool without trimming). Recommended approach is to use built-in functionality in 3.0 for trimming and packing.

Sample approach: https://www.hanselman.com/blog/MakingATinyNETCore30EntirelySelfcontainedSingleExecutable.aspx

dotnet-warp

NuGet Build status

Global .NET Core tool, which allows to pack .NET Core projects to single executable.

In fact it's just a wrapper around Warp (https://github.com/dgiagio/warp) and ILLink.Tasks.

Supported environments are same as Warp: win-x64, linux-x64, osx-x64

Install

$ dotnet tool install --global dotnet-warp

Usage

Usage: dotnet-warp [arguments] [options]

Arguments:
  ProjectFolder            Project path.

Options:
  -l|--link-level <LEVEL>  Optional. Sets link level. Available values: Normal, Aggressive.
  -nc|--no-crossgen        Optional. Disables Cross Gen during publish when linker is enabled. Sometimes required for linker to work. See issue: https://github.com/mono/linker/issues/314
  -v|--verbose             Optional. Enables verbose output.
  -p|--property            Optional. Pass any additional MSBuild properties to 'dotnet publish' command.

Examples

Packs project in current directory to single executable using Warp.

$ dotnet-warp 

Links project before packing using ILLink.Tasks

$ dotnet-warp -l aggressive
$ dotnet-warp -p:Version=2.0.1

Aggressive option sets /p:RootAllApplicationAssemblies=false during publish. More info

About

.NET Core global tool for producing single executable using Warp

License:MIT License


Languages

Language:C# 100.0%