It is possible to use the .NET Core. It’s also possible as Mono, but this is becoming less and less necessary.
The . NET Core has some limitations yet. By 2019 you will no longer have most of them and you will be able to port your entire application to it. But today most of it can be ported. Some things can never be ported, but anyway are things that should not use anyway, are resources considered problematic and obsolete.
The . NET Core is self-contained and does not depend on anything previously installed. You mount the executable only with what you need. It still needs at least one DLL in addition to the executable. To have 100% native executable and no DLL would need the .NET Native, but for now only serves for a specific type of application.
If it depends on the . NET Framework full has nothing to do. And actually if you already have the . NET suitable in the machine or need because everything is already there.
Anyway . NET Framework will be legacy. Will be supporting, will evolve, but very slowly, and only what is easy and necessary. Core is the future for almost everything, especially new projects.
So . NET Core creates a . NET executable with its libraries next to the executable or inside the executable? Something else, if the . NET is included in the output, the . NET Core executable can be converted to a Windows executable (without . NET)?
– CypherPotato
I improved the answer.
– Maniero
@Cypherpotato the world . NET is quite different from the native world. The executable of . NET can only be converted to a Windows executable (without .NET) through . NET Native, which is very strict and specific but when using . NET Core and make a deploy as self-sufficient, your app goes with everything you need to run (without relying on installing .NET on the computer). But no, it’s not native.
– Anderson Matos