https://www.hanselman.com/blog/MakingATinyNETCore30EntirelyS...
https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotne...
The last time I touched anything .NET was about a decade ago. My somewhat old-school superiors were unimpressed with the ability to come up with a plain .exe at the end of the process. My lack of familiarity with how Visual Studio had evolved certainly played into it; the IDE made me feel like a chimp dropped into an airliner cockpit. I had the worst time trying to figure out how to turn off the "of course you have an enterprise server dedicated to delivering upgrades!" setting. None of it seemed to, uh, scale down for our piddly purposes.
dotnet new console --output sample1
dotnet publish --self-contained -r linux-x64 sample1
https://docs.microsoft.com/en-us/dotnet/core/get-startedI am aware of launch4j, but curious if there is a single step approach for all 3 platforms.
An alternative is the GraalVM, which can compile the code as a C++ binary or a shared application, using LLVM as backend. If you work with Webservices (especially JavaEE), you might also want to have a look at Quarkus, which also uses GraalVM to create single binary executables
With jlink/jpackage you either ship an installer or a zip file.
I like the general idea, your independent of the system wide framework version and it still has this "one-click" install procedure (dropping the binary in your path). However, I guess this is also the negativ Part. Users don't expect that a single binary extracts itself to somewhere --> uninstalling the binary leaves traces on the system.
Definitely looking forward to try it out for elixir, wondering how fast the erlang/elixir startup really is.