PublishSingleFile option in .NET Core 3 lets you package an application into a single executable (
.exe) file that contains all assemblies, resources, content files and other stuff that the app requires at runtime. This means that the output directory of an app that previously would contain a bunch of framework specific and referenced DLLs, configuration files and other content can now be reduced to contain only a single
.exe file that you can simply double-click on to run the app. These single-file executables do however come with some gotchas.
An example of how to handle Uniform Resource Identifier (URI) protocol and file extension activation in a packaged WPF application.