News for hackers. Stuff that matters.
Re:What's new in the .NET 11 runtime by fodkodrasz on Tuesday November 10, 2026 @11:43AM (#50442816)
Go still has a better deployment story. Single static binary deployment are king. On .Net 8 I was hitting random compatibility issues with single binary application bundles, with System.Data.SQLite, and other libraries. (had to use that one and not he Microsoft one for some legacy compatibility reason, maybe around Guid handling maybe)
Re:What's new in the .NET 11 runtime by WorldMaker on Tuesday November 10, 2026 @12:54PM (#50443701)
Is cp -r/xcopy/robocopy a folder (with or without tar/zip wrappers) that much harder than single file deployment?
Re:What's new in the .NET 11 runtime by fodkodrasz on Wednesday November 11, 2026 @03:51AM (#50451097)
yes.
Re:What's new in the .NET 11 runtime by WorldMaker on Wednesday November 11, 2026 @02:34PM (#50457459)
In .NET 5+ you shouldn't need to install runtimes, though. Self-contained folder full of DLLs output is the default publishing build today and very reliable at this point (and doesn't have the same restrictions as trying to AOT compile and treeshake everything into a single self-contained EXE).

Obviously, there's a trade off in size having a whole folder of files, some of which would be redundant with other applications, but folder of files using xcopy only deployments have seemed to become the standard in .NET. (Or perhaps more commonly, folder full of files added to a minimal "no runtime" Docker container overlay.)

I don't think I've ever seen a global install of a .NET 5+ runtime. I wouldn't be surprised if some Enterprise was doing it for some belief in HD space savings, but I've certainly not seen it. Just file folder deploys.

Re:What's new in the .NET 11 runtime by pjmlp on Tuesday November 10, 2026 @01:20PM (#50444079)
From your description you certainly weren't using AOT compilation, and forgetting about CGO.

Static linking as the only way in most platforms, we moved into other mechanisms for a reason.

In Go the only way to do plugins, without shipping everything as source code is to use microservices, the more fashionable name for multiple process with OS IPC.

Re:What's new in the .NET 11 runtime by fodkodrasz on Wednesday November 11, 2026 @03:55AM (#50451115)
I'd presume you can still do dlopen despite your binary being statically linked... but I have not expermented in the topic, I did dlopen in Linux libc, and Assembly.Load and P/Invoke in .Net (no AOT).

I wasn't using AOT, it was not something I needed/wanted, but for a TypeScript compiler it would make more sense. I only tried single file binary compilation, as I didn't want to deploy the runtimes, wanted to have them embedded to the air-gapped systems in a simple copy and runway (no installers, etc).

Re:What's new in the .NET 11 runtime by pjmlp on Wednesday November 11, 2026 @05:01AM (#50451584)
Yeah, but that beats the purpose of static linking in first place, especially if the plugins require access to the host process APIs.

Doable, but requires a bit more of extra work, and Go plugin package is basically abandoned, it was not yet been removed due to backwards compatibility.