Open jusnim opened 1 day ago
My main concern with publishing a self contained executable is the filesize: Building the translation editor self dependent results in a 90 mb exe, while framework dependent is just 24.
And, unless i have missed something your are addressing, i am already publishing the app as a framework dependent executable for every system: https://github.com/Justin113D/TranslationEditor/releases/tag/0.0.1-alpha1
It's interesting that the additional size is exactly 66 mb, because that seems to be the whole .NET runtime. \ Nevertheless, it's probably an additional file that's nice to have to ensure the combability if someone has problems installing .NET packages, especially on UNIX-like systems. EDIT: would be more than one file, to be specific, for every platform an additional one. So maybe a little bit overkill \ And you are absolutely right that you're already publishing the app as a framework dependent executable. I had an oversight and actually meant the framework dependent binary, because the .dll seems to be truly cross-platform according to their documentation. https://learn.microsoft.com/en-us/dotnet/core/deploying/#publish-framework-dependent \ Again, it's just a good additional file that shouldn't cause extra maintenance. You're current approach is already more platform including than most programs, so that's fine.
Yeah, that is what self dependent does: It includes the entire NET runtime. I can look into using trimming, but usually that doesn't work well with UI based applications, and given that this repository will publish 2 different apps, the translation editor and translation format editor, you'd already have 12 (or 14, with the binary included) files per release. Also releasing a self dependent version for every platform would bump this up to 26, which is, as you said, a bit overkill.
I can definitely release with a framework dependent binary though, but that aside, i'd prefer to stick with framework dependent executables to save on space.
So, the application is meant for cross-plattform purposes. I really have no experience with .NET, but after a quick search, wouldn't it be better to publish a self-contained executable when compiling for each platform? Then you wouldn't need to install .NET packages. https://learn.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained
Alternatively you could provide a framework-dependent executable so that it can run on any platform, assuming .NET is installed https://learn.microsoft.com/en-us/dotnet/core/deploying/#publish-framework-dependent
If I've missed anything in the .NET infrastructure (or your project) that doesn't comply with this idea, please let me know! :)