1. 20
  1.  

  2. 8

    I’m not exactly sure what the special sauce is here but vanilla .NET supports creating single static binaries just like Go does.

    Here is an example in a project of mine though of the fsproj settings and the actual command invoked to get a static binary:

    https://github.com/eatonphil/dbcore/blob/master/dbcore.fsproj

    https://github.com/eatonphil/dbcore/blob/master/Makefile#L10

    I assume it’s a static binary because I could copy the binary alone to a VM without .NET on it and still run the binary.

    1. 4

      Even without the native compilation, I’m quite enjoying targeting the .net frameworks included in windows by default. If your users are on win10 and update at least once a year, you can publish your winforms app for .net framework 4.6 and it will “just run”. Ilmerge can get rid of extra DLLs too. Simple, single file GUI apps start <100KB.

      1. 2

        The problem is the frameworks, while conceptually simple deployment wise, are effectively EoL due to .NET Core/Standard. (The terminology was never clear; the incoherent story is why is the biggest reason I lost interest in .NET. I’d likely stick with Framework, because it’s basically not going to go full CADT like the rest of the ecosystem has.)

        1. 6

          The problem is the frameworks, while conceptually simple deployment wise, are effectively EoL due to .NET Core/Standard. (The terminology was never clear; the incoherent story is why is the biggest reason I lost interest in .NET

          The literal names are absolutely abysmal, granted, but their meanings have always been consistent:

          • .NET Standard is a standard set of APIs. It’s not an implementation. Mono, .NET Core, .NET Framework, UWP, and (I think, for the last couple of years or so) Unity are all implementations of .NET Standard.
          • .NET Framework is the version of .NET that ships as part of Windows. It is basically running in the old COM/ActiveX style, where all the .NET objects and runtime ship as part of the OS proper.
          • .NET Core is new implementation of .NET, separate from .NET Framework, that focuses on shipping static binaries and running on multiple platforms. It also aims to be a viable alternative for .NET Framework even when running on Windows, though the support cycle of .NET Framework means it’s not going anywhere soon.
          1. 2

            CADT?

            1. 5

              Had to look it up, but it’s Cascade of Attention-Deficit Teenagers.

              1. 3

                are effectively EoL due to .NET Core/Standard.

                That’s not true. .NET Framework is a Windows component and thus is supported as long as the OS is.

                https://dotnet.microsoft.com/platform/support/policy/dotnet-framework

              2. 1

                Unless I’m mis-understanding something here, this says you mightn’t be right about this :)