• This repository has been archived on 20/Nov/2020
  • Stars
    star
    249
  • Rank 162,987 (Top 4 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 6 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

.NET Core global tool for producing single executable using Warp

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