4 ms·
> Single binary executables in .Net 6.0 that run cross platform are the killer feature. This is a good feature but It presents packaging challenges and questio
by to11mtm 5y ago
> Single binary executables in .Net 6.0 that run cross platform are the killer feature.
This is a good feature but It presents packaging challenges and questions. For example, this example [0] used Single-file to create hello World at a size of anywhere from 60MB (No tweaks) to 30MB (Compression). Tree shaking (which can require careful testing and tweaks if your app or its libs use reflection) got it down to 11MB. By comparison, as an app requiring the runtime, it came out to 150KB.
> The target machine does not need any supporting shared libs.
There's caveats to that too; if you do have native dependencies (for example, an sqlite implementation) my understanding per the description [1] is that you have to include those as separate files, or configure it to bundle, in which case it will wind up having to self-extract. IDK if that gets 'cached' between runs when that happens or not.
[0] - https://dotnetcoretutorials.com/2021/11/10/single-file-apps-in-net-6/ https://dotnetcoretutorials.com/2021/11/10/single-file-apps-...
[1] - https://devblogs.microsoft.com/dotnet/announcing-net-6/#single-file-apps https://devblogs.microsoft.com/dotnet/announcing-net-6/#sing...
- okareaman 5y agoI would agree with you except terabyte drives are so cheap these days that 30MB doesn't seem like a big deal anymore. There are situations when multi megabyte apps are a problem, but not my situations.