Hacker News new | ask | show | jobs
by felipebueno 2052 days ago
I agree!

With .NET Core 3.x it's possible to publish self-contained executables so there's no need to have to the runtime installed.

https://docs.microsoft.com/pt-br/dotnet/core/deploying/#publ...

1 comments

Didn’t .NET (pre-“Core”) have an AOT option? Or was that not “self-contained” (as in, a runtime was still needed prior)?
Ngen was never self-contained however and ngen-ed binaries were system and runtime specific. You pretty much had to assume you couldn't ship ngen-ed binaries between machines and always ngen in place on the end user's machine.

.NET Core's new AOT systems are much more capable than ngen ever was, including for static, self-contained binaries that you could potentially ship to all systems of a target architecture without shipping the non-AOT IL binaries as well.

(ETA: Which is why the vast majority of .NET software hardly ever bothered with ngen except for very specific per-machine performance needs.)

Yes, I'm aware of that, we tried to use Ngen and basically gave up, not worth the efforts.

I hope new AOT would be better

Not that I know of. When you target UWP, there’s .NET Native. That might be what you’re thinking of.

IIRC .NET Native compilation was very slow and could not target…, well, Windows, but only Windows UWP.