You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"RID" refers to a unique combination of OS and CPU architecture. See .NET RID Catalog.
File Size
Updates should be lightweight and have as few files as possible.
HXE.exe from release 2.1.4 is 128 MiB. If it targeted .NET 6 and used EnableCompressionInSingleFile, it would have been closer to 64 MiB which is still large for a console app with two WPF windows.
Our GUIs rely on WPF. ~20MiB per RID. Windows-only.
DotNet SingleFile wraps our app and assemblies with SingleFileHost as the entry assembly. ~10MiB per RID. One app per RID.
Our dependencies include localizations we don't need since we only support English. These localizations add ~20 MiB (uncompressed) to HXE.exe.
WPF is trim-incompatible
Rampant usage of Reflection and dynamic references e.g. getting a type name from a string.
Making a SingleFile app also requires selecting a specific runtime. We have to use the .NET 5+ SingleFile feature since I couldn't get Fody Weavers working after porting the projects to .NET 5+. The SingleFile host adds an additional 10MiB to executable.
A SingleFile is heavy. A Self-Contained SingleFile is even heavier.
SingleFile + Win7
SingleFile is said to not be supported on Windows 7. Does this include Windows 7 SP1?Condition="'$(PublishSingleFile)' == 'true' and $(RuntimeIdentifier.StartsWith('win7-'))" throws Error NETSDK1180
Does the DotNet Core 3.1 style of SingleFile work? This extracts the dependencies to a temporary file location instead of loading directly from the main file. The compiler checks don't care. See previous point.
Issues
NOTES
File Size
Updates should be lightweight and have as few files as possible.
WPF is trim-incompatible
Rampant usage of Reflection and dynamic references e.g. getting a type name from a string.
SingleFile
SingleFile + Win7
SingleFile is said to not be supported on Windows 7. Does this include Windows 7 SP1?Condition="'$(PublishSingleFile)' == 'true' and $(RuntimeIdentifier.StartsWith('win7-'))"
throws Error NETSDK1180Does the DotNet Core 3.1 style of SingleFile work? This extracts the dependencies to a temporary file location instead of loading directly from the main file.The compiler checks don't care. See previous point.Single File publishing is not compatible with Windows 7 dotnet/runtime#62453
Build a Windows 7 compatible Single-file AppHost dotnet/runtime#13356
Support Single-file executable in Windows 7 dotnet/runtime#63196
[release/6.0.x] Build Single-File for Windows 7 dotnet/sdk#23336
XML Serialization is discouraged in favor of System.Text.Json for trim compatibility
XML serialization depends on Reflection.
The text was updated successfully, but these errors were encountered: