Skip to content
This repository has been archived by the owner on Jun 10, 2023. It is now read-only.

Packs all your .dlls into your main executable so it becomes standalone

License

Notifications You must be signed in to change notification settings

postsharp/PostSharp.Community.Packer

Repository files navigation

  PostSharp.Community.Packer

Embeds dependencies as resources so that you can have a standalone executable.

This add-in only works under .NET Framework. In .NET Core, we recommend instead upgrading to .NET Core 3 or later and use the single file executable feature.

May 27, 2020. We've covered this add-in in a blog post.

This is an add-in for PostSharp. It modifies your assembly during compilation by using IL weaving.

CI badge

Example

Your project would normally result in MyProject.exe which requires Newtonsoft.Json.dll and Soothsilver.Random.dll as dependencies because you used those NuGet packages.

If you use this add-in, instead those two DLLs will be embedded into MyProject.exe as resources and loaded from there.

Installation

  1. Install the NuGet package: PM> Install-Package PostSharp.Community.Packer
  2. Get a free PostSharp Community license at https://www.postsharp.net/essentials
  3. When you compile for the first time, you'll be asked to enter the license key.
  4. Add [assembly: Packer] into the beginning of one of your source files.

You can then distribute just the main output assembly file. It will be enough.

There are documented configuration options in the Packer attribute. Set them in your source code to change them from their defaults.

Building the project

To build the project on your local machine, execute this from a VS 2019 command prompt:

msbuild /p:Configuration=Release
nuget pack PostSharp.Community.Packer.nuspec

For an official build:

  1. Install SignClient

    dotnet tool install --tool-path . SignClient
    
  2. Sign

    set SIGNSERVER_SECRET=****
    sign.cmd
    

Copyright notices

Published under the MIT license.

About

Packs all your .dlls into your main executable so it becomes standalone

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published