Skip to content

Add dotnet to official Linux repositories so it is a credible option for general development #3286

Closed
@nzbart

Description

@nzbart

In my day job, I am a .NET developer on Windows, and I use .NET Core for new apps where possible. I am also a heavy Linux user, and - as Microsoft obviously acknowledges - this is where server-side workloads are heading. However, while .NET Core functions on Linux, it is clunky and there is a lot of friction when compared to other languages and platforms that integrate seamlessly.

One example is that support for Debian 10 and Debian Testing across the Microsoft open source products is almost non-existent. Also, the workarounds are problematic because different products support different versions of Debian via the same package repositories. The only viable way to work with .NET Core on any relatively recent release of Debian is to run in a Docker container, which is clunky for day-to-day development. The Snap packages are workable, however, not everything is officially supported on Snap - such as the Azure CLI.

The reality is, that it's simply easier to learn one of the plethora of well supported languages instead, such as Python, Go, or Rust.

Unfortunately, I've been unable to find any official word on why Microsoft doesn't add .NET Core and other tools to the official Debian (and therefore Ubuntu) repositories, so I'm left to speculate. I've come up with two possible reasons:

  • The official repositories - and therefore the integrity of the code - are outside of the control of Microsoft. Right now, if I install .NET Core on a Docker container, I can be assured through modern cryptography that I'm installing the packages built on your build servers.

  • The official Debian repositories can be out of date. By providing an orthogonal deployment mechanism, it's possible to deploy the latest version of .NET Core on an older, stable version of Debian.

I'm interested to hear whether there are other reasons, and whether adding .NET Core to the official repositories is completely off the table, or whether it's simply a matter of resourcing and/or overcoming obstacles.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions