21 ms·
.NET 6 is now in Ubuntu 22.04
- kgbcia 4y agothe other day we had a post that win32 is the only stable abi on Linux. interesting to see if that happens with .net
- mikece 4y agoIt has been rumored for years that Microsoft might acquire Ubuntu. This is an interesting move though not proof of any such future merger. All of that said, it would be nice if Microsoft had the same level of cooperation with Fedora and another distro or two as well. (And where the hell is support for .NET Core on FreeBSD???)
- Bilal_io 4y ago[redacted]
- runfaster2000 4y agoFedora and Red Hat have offered .NET packages for years. We've worked very closely with those folks and they've taught us a lot about how to work collaboratively with distro maintainers. We meet with them weekly. Notice that Fedora is mentioned in the blog post and here: https://docs.microsoft.com/dotnet/core/install/linux#official-package-archives https://docs.microsoft.com/dotnet/core/install/linux#officia.... Also notice that our default build instructions are for Fedora: https://github.com/dotnet/installer#building https://github.com/dotnet/installer#building. I'm the post author.
- ladyanita22 4y agoThis just puts Ubuntu at the same level as Fedora/RH/Arch were before, am I right? In the sense that this just means .Net is in the official repos (as was the case for Fedora/Arch before)
- omajid 4y agoYes. But your list is incomplete! .NET is also part of Alpine's community repository https://pkgs.alpinelinux.org/packages?name=dotnet*&branch=edge&repo=&arch=&maintainer= https://pkgs.alpinelinux.org/packages?name=dotnet*&branch=ed... and is also available in Homebrew https://formulae.brew.sh/formula/dotnet https://formulae.brew.sh/formula/dotnet Other distributions are welcome to join: https://github.com/dotnet/source-build/discussions/2803 https://github.com/dotnet/source-build/discussions/2803
- deleted 4y ago[deleted]
- runfaster2000 4y agoFolks are working on FreeBSD support: https://github.com/dotnet/runtime/pull/71486 https://github.com/dotnet/runtime/pull/71486
- wongarsu 4y agoI would have expected .NET's core demographic to be mostly CentOS and RHEL users. But I imagine Microsoft really wants you to run your workloads in Azure instead of on-premise, and Ubuntu fits that model better.
- runfaster2000 4y agoWe started with Red Hat. They were our .NET Core 1.0 launch partner (and remain a very close partner). You can run Red Hat on-prem or in the cloud (obviously).
- keewee7 4y ago>I would have expected .NET's core demographic to be mostly CentOS and RHEL users. Why? There is nothing "Enterprisey" about .NET Core. It's a perfect fit for both fast-moving startups and big enterprises.
- int_19h 4y agoThe "enterprisey" part of .NET is the brand itself. It's well-established in the enterprise, less so outside of it.
- throy939849500 4y agoFor FreeBSD support, see the following issue for the porting effort. The community has been working like hell to make it happen since 2015 and at this point we have regular unofficial builds: https://github.com/dotnet/runtime/issues/14537 https://github.com/dotnet/runtime/issues/14537 About 2 months ago they crushed hopes that official FreeBSD support will happen anytime soon by clearly stating that at this point, updating their Quality Assurance process to support FreeBSD would not make business sense for them as they have to put together an extensive test suit and manual testing procedures for every OS. Microsoft folks remain friendly and helpful in the thread though. The FreeBSD ports system insists on requiring third party applications to be able to be built from source offline, while the .NET build process downloads packages left and right at various parts of the process. This is one of the things that complicates its inclusion in the ports tree. Building .NET for FreeBSD is close to rocket science, the community has worked to make the process way simpler. It is frustrating that the .NET team refuses to take things from there. Providing FreeBSD support is what I would expect from them to strengthen their cross-platform posture. This is the last major platform they need to support, and one being heavily used for servers.
- pxc 4y ago> The FreeBSD ports system insists on requiring third party applications to be able to be built from source offline, while the .NET build process downloads packages left and right at various parts of the process. As someone who is not a part of the FreeBSD community, I just wanted to chime in to say that the FreeBSD Ports people are absolutely correct here, and that the build time behavior you describe is Bad Behavior™ that is likely to get in the way of any distribution (Linux or FreeBSD or macOS or anything else) that follows basic best practices with respect to build sandboxing on their CI/CD systems, build clusters, etc., even if it can eventually be hacked around. Building software outside of a sandbox with restricted network access is how you get lovely exports like credential scrapers in your setup.py or your NPM install hooks, perhaps running as root. Downloading your dependencies at build time from within the build system without first emitting a manifest with hashsums of what you intend to download is a huge problem for reproducibility, too.
- 4y ago
- 323 4y ago> Microsoft might acquire Ubuntu That would make a lot of sense, despite the backlash it would generate. Remember when they acquired GitHub, developers were vouching to move over to GitLab. Yet very few did. The same would probably happen if they acquire Ubuntu. Developers would vouch to move to another distribution, yet few will, because Ubuntu is so much nicer to use than the competition.
- pmontra 4y agoI'll be one of the few. Maybe I'll give a try to Debian but probably I'll end up using one of the Ubuntu replacement distroes that will popup. Or Pop!_OS outright. I'll never trust Microsoft again after all they did in the 2000s. Transitively, I'll never trust any comparably sized company.
- fshr 4y agoCan I ask a Ship of Theseus kind of question? Is there any amount of shot-caller employee turnover possible in the last 15-20 years that would cause you to reset your projections of their ethicality? Relatedly, is there an amount or form of recompense possible on MS's side that could reinstate your doubt? Or is there a general lack of trust in unchecked / unethical capitalism that is insurmountable?
- pwdisswordfish9 4y agoThe word you're looking for is "vow".
- pxc 4y ago> Remember when they acquired GitHub, developers were vouching to move over to GitLab. Yet very few did. GitHub benefits from a powerful network effect: if you want contributions from the greatest number of developers, you need to be on the platform they use and understand. Ubuntu doesn't have a comparable form of social lock-in. As long as they are popular and until portable and/or containerized package formats for Linux mature, they do exert some network pressure on publishers, but not really end users. > Ubuntu is so much nicer to use than the competition. I don't think this has been true for some time. Canonical's server offerings are pretty much coasting on the mindshare that they gained with current-gen Linux sysadmins and developers who grew up experimenting with desktop Linux in the aughts, when the usability delta between Ubuntu and other mainstream distros really was vast. They still benefit quite a bit from their willingness to bundle proprietary software with the OS, and from sheer inertia on the desktop, where they are still most likely to receive native packages by proprietary software vendors. But the collection of desktop operating systems that actually attract new users to the ecosystem who will become the next generations of Linux sysadmins is increasingly comprised of distros that are not based on Ubuntu. User-friendly Arch downstreams now have more and more of theml mindshare that Ubuntu did when I was 'growing up. The most popular Ubuntu-based distribution, which has actually surpassed Ubuntu both in interest from new users and in its reputation for OOTB usability, deviates strongly from Ubuntu in some core technical aspects that make some Ubuntu knowledge non-transferable. APT is aging poorly, even compared to its RPM-based counterparts. It has recently been at the center of some high profile blowups where package installation triggers a catastrophic cascade of uninstallations that newbies would likely perceive as 'bricking' their installations. This has damaged the reputation of the most popular Ubuntu-based distros, including Ubuntu itself as well at driving home the case for portable/containerized package formats. The success and growth of these portable package formats, including Snap itself, additionally threaten to undermine Ubuntu's strategic advantage because they work pretty much as well on any distro as they do on Ubuntu. Moreover, Canonical's own offering in that space is already driving users away from Ubuntu. Snap is slow, clunky, space hungry, and bandwidth hungry, and the way that Ubuntu has chosen to force Snap packages for key software, e.g., Firefox, has had a negative impact even (and perhaps especially) among non-technical users precisely because it has a shitty UX. Meanwhile Snap has failed to gain much developer interest outside of Canonical, and looks likely to suffer many of the same adoption problems as previous Canonical offerings in the space of core system software like Upstart and Mir. It seems that Canonical has not figured out a way, in the past decade or so, to displace Red Hat as the most influential corporation on projects that require widespread, cross-distro adoption to succeed. Similarly to the situation witb portable packaging formats, there's a pretty clear trend in the wider Linux world away from relying on old-school package management 'raw' in favor of immutable operating system images. There are Ubuntu derivatives in this space, but the clear leaders are NixOS on the radical side and Fedora Silverblue for the more conservative approach that reinforces/enhances traditional package management tools with OSTree to gain some of the same benefits. It may be that Canonical's advantage in the server space and among developers is 'sticky', now that Ubuntu is established in those markets, and that it's less ripe for the same kind of play that Ubuntu made by building mindshare first on the desktop. They may also catch up in some of these areas. But for all of the reasons I outlined above, I don't think Canonical is in nearly as strong a position to retain its relevance as GitHub was, especially in the long term, in the face of one more thing that makes it less attractive to new desktop users for whom much of the appeal of running Linux in the first place is escape from Microsoft.
- sylens 4y agoI've always thought that a Microsoft Linux distribution would be incredibly interesting. They could give the user experience a new round of polish without being weighed down by the years of legacy support, compatibility, and cruft on Windows.
- bearzdev 4y agothey have an internal distro on github: https://github.com/microsoft/CBL-Mariner https://github.com/microsoft/CBL-Mariner
- bob1029 4y agoThe .NET ecosystem is giving me a lot of confidence these days. I've been on this rollercoaster since .NET Core 2.x and don't think I will be getting off any time soon. We recently upgraded from 3.1 to 6, which was a total non-event. The code base that was around for Core 2.x is still the same one we have today. Some substantial changes made to the web interfaces and hosting, but nothing in the business logic or data models was impacted. We currently use Self-Contained Deployments to Windows machines, but there are only 2 minor methods stopping us from using a Linux image as well. Looking for a really good reason to make the jump, but I can't justify it to the business yet.
- lovetocode 4y agoI just jumped on the .NET Core gravy train after 6+ years of Ruby on Rails development. I feel so productive and confident working with .NET. Ill be riding this rollercoaster with you for a while!
- Akronymus 4y agoTechnically it isn't .net core anymore, but just .net. The many different versions were quite confusing. I am happy that they are now unified.
- billpg 4y agoOld .net has become ".net framework". I'm just glad the number-space has been sorted out. It was annoying to learn that ".NET 2", ".NET Standard 2" and ".NET Core 2" are very different things.
- Akronymus 4y ago> Old .net has become ".net framework". From my understanding, thats not quite right. AFAIK framework was adapted to differentiate it from standard, core and mono.
- 4y ago
- bariskaya 4y agoSeems like great news but I wonder if these releases help the .NET ecosystem in a meaningful anyway. Almost all .NET developers I know still use Windows even on cloud.
- runfaster2000 4y agoWe maintain container images for both Linux and Windows. I can tell you that they both get a LOT of use (>10M pulls/month). .NET is very much a cross-platform app stack. Also, we get plenty of bug reports on Linux (which we diligently fix). The days of .NET being Windows-only (and closed source) are long over.
- adelarsq 4y agoWe use .NET on Linux cloud for some years. Even on Windows we use Docker instead
- sf_rob 4y agoMight this gain them marginal .NET developers? Maybe they have reason to believe that this will accelerate growth.
- giaour 4y agoI've shipped .NET applications in organizations where adding Windows hosts never would have been contemplated, but adding a new application framework that ran on our standardized Linux environments was no big deal. Ops folks are often much warier about adding heterogeneous compute environments than they are about adding new application architectures, so an easier onboarding process for Linux shops experimenting with .NET could plausibly drive adoption.
- osigurdson 4y agoI’m not sure but, it is nice to be able to install things without having to add additional repositories.
- mythz 4y agoI've been developing ASP.NET Core Apps on Windows since 2017 (when .NET Core support was added to our FX) and have created & deployed >50 .NET Apps exclusively to Linux, primarily Ubuntu so this is a welcomed announcement. .NET definitely has first-class support on both Linux and Windows.
- nikanj 4y agoYoung me would’ve lost a good bottle of Scotch over this headline - especially coming straight from Microsoft. The times sure have changed
- omajid 4y agoYou are a few years late :) From the .NET Core 1.0 announcement made in June 2016: https://devblogs.microsoft.com/dotnet/announcing-net-core-1-0/ https://devblogs.microsoft.com/dotnet/announcing-net-core-1-...: > Today we are at the Red Hat DevNation conference showing the release and our partnership with Red Hat. Watch the live stream via Channel 9 where Scott Hanselman will demonstrate .NET Core 1.0. .NET Core is now available on Red Hat Enterprise Linux and OpenShift via certified containers.
- nikanj 4y agoI wasn’t young in 2016 either :”)
- mk89 4y agoWell, times clearly changed but the end goal remains the same. I don't have data, however, from what I see/read, there is a tendency of developers/companies using .NET environments to just go for Azure. It looks like it comes as a big package, while it doesn't have to be like this, but hey, that's how it works especially in enterprise companies. How much does/did it cost to port .NET to mac/Linux? Compared to what you gain just by having a few customers in the cloud, maybe crumbs: provide a good dev environment, people will clearly opt for your cloud services.
- fezfight 4y ago
- zuminator 4y agoThis would be the "extend" stage, I think.
- dralley 4y agoIt would be neither. This comparison makes zero sense.
- ac130kz 4y ago
- aliswe 4y agoElaborate, or be gone, ghoul!
- pipeline_peak 4y agoDoes it actually run well like on Windows? If not then, it's pathetic.
- metaltyphoon 4y agoYes, actually it runs better.
- pipeline_peak 4y agoRuns better than on Windows, or better than the past Linux implementations?
- metaltyphoon 4y agoIt runs better than on windows. For example, all ASP performance testing, from techempowered, is done on Linux and not on windows. There are tons of info, videos about testing different workloads on both OS and seeing that Linux always wins
- dnndev 4y agoWhere do you host your .net projects? I am especially interested in anything other than azure webapp and VM's/IIS.
- mythz 4y agoHetzner & Digital Ocean are great value hosting providers, we maintain GitHub Action deployment scripts that can deploy to any generic Linux host using Docker Compose + SSH, that our latest Litestream support uses to effortlessly deploy .NET RDBMS Apps (with savings up to 40x vs Azure's recommended managed RDBMS configuration): https://docs.servicestack.net/ormlite/litestream https://docs.servicestack.net/ormlite/litestream If you don't want to use Docker, you can also easily deploy to Linux using rsync + supervisor: https://docs.servicestack.net/netcore-deploy-rsync https://docs.servicestack.net/netcore-deploy-rsync
- Const-me 4y agoLast couple times I used cloud VMs with ARM64 CPUs running some Linux. A systemd service to run asp-net only takes a few lines of text in the *.service file, like following: [Service] Type=simple ExecStart=/usr/bin/dotnet /some/path/myapp.dll WorkingDirectory=/some/path/ Restart=always User=someone Group=someone [Install] WantedBy=multi-user.target
- manigandham 4y agoPackage as a Docker container and run on any host. I've used everything from digitalocean VMs to Kubernetes across all major clouds.
- jayd16 4y agoYep, both AWS and GCP have been fine.
- nso 4y agoAs a systemd service on physical ubuntu servers. Each app running on its own port, haproxy server in front routing different domain:80s to the corresponding ports. Stateless apps so sideways scalable.
- lucidone 4y agoHad to fix a bug in a hobby app that uses .NET Core for its backend last evening. I miss working in this ecosystem daily (back to node and rails for work), it's such a pleasure. The best developer experience I've ever had. If anyone is hiring and you use .NET... :)
- mrweasel 4y agoI don’t know where in the world you’re located, but there are way more .Net jobs available than than Node or Rails here in Denmark.
- lucidone 4y agoMiddle of nowhere, Canada, far away from any metro area. I've been working remotely for years as a result. Seems tough to find any .NET work in digital space (plenty of javascript and rails from my experience). I ascribe this to the perception of .NET being more corporate.
- mrweasel 4y ago> I ascribe this to the perception of .NET being more corporate. Seems about right, most of the .Net jobs are very corporate :-)
- RexM 4y agoI'm not sure where you're located, but feel free to send me an email (it's in my profile.)
- smt88 4y agoI'm hiring .NET developers in the near future for an RPA platform focused on real estate. Send me your LinkedIn, CV, or personal website at {my username}hn@gmail.com. We are fully remote with flexible hours and offer 4 day work weeks.
- runfaster2000 4y agoAnyone notice the part of the announcement about Chiseled Ubuntu Containers?
- kapilvt 4y agoyeah I'm quite curious, but it appears to be undocumented outside of the code, it reads like a way to strip a container given a yaml config file to extract out the important bits.
- bbkane 4y agoMicrosoft seems like "a house divided" when it comes to opening .NET. They open source the core language, but have different proprietary dev tools (debugging for one) you need to pay for. https://isdotnetopen.com/ https://isdotnetopen.com/ goes over these in more detail, but I'd rather use an ecosystem where I don't have to worry things will be progressively locked down in the future.
- brtkdotse 4y agoThe debugger is part of Visual Studio, which is a paid product. I don’t think it’s unreasonable to not publish the source for it.
- jeroenhd 4y agoVisual Studio Code also uses the debugger and that's a free tool marketed as open source. The open source version (VSCodium) doesn't ship a C# debugger for this reason.
- jillesvangurp 4y agoOf course, this being open source might enable third parties to invest in their own tools; including debuggers. Part of that deal is that developers are no longer passive by-standers. If it bothers you enough you might fix it or help fund somebody else to fix it. Providing the basics as open source and then charging a little for some extras should not be the end of the world. You see the same in the Jetbrains ecosystem where e.g. the community edition of Intellij is free and open source but they have a paid version with a lot of extras. Paid products for developers are not as common as they used to be but we are talking about tools that improve productivity a lot for people that make a lot of money using those tools. Developers (my self included) are oddly stingy when it comes to spending on software but at the same time think nothing of blowing a few thousand dollars on hardware.
- chaorace 4y agoYeah, but the general standard is for open languages to either have an open debugger (e.g.: V8 JS) or else otherwise have support for an open debugger interface (e.g.: Rust via GDB). It's not strictly unreasonable for MS to offer a proprietary debugger, but it is bass-ackwards for the core .NET team to not offer an open source debugger or open standards compliant debugger interface to go with their open source language.
- cabirum 4y agoMeh. In the end, Microsoft will betray those who trusted it. Long term, better just to pretend it does not exist and never, ever depend on anything with Microsoft name on it.
- elforce002 4y agoI agree with you.
- dnndev 4y agoNot true. To blanket state microsoft is not reliable is ignorant. Anyhow, be on your way. I will continue using .net / c# for another decade.
- mrkeen 4y agoI hope it lasts that long. I picked up and used XNA for the global gamejam 2012. It wasn't a terrible experience, so I went to use it again for 2013 but they'd since killed it off.
- metaltyphoon 4y agoIt has been already 2 decades. It will probably last another 2.
- alexklarjr 4y agoIt was VB, Access and Sharepoint heavy marketed by MS evangelist drones as primary LOB tools just before Windows.NET The next .CLOUD or .AI frameworks is probably on its way in minds of board of directors. Microsoft is great in producing APIs and frameworks thats not last. And drones will happy to explain how powerful and simple things now.
- the-lazy-guy 4y agoMillions of businesses run on Microsoft platforms and software developed on/for Microsoft platforms for decades. I think you are painting darker picture than it really is. Or please elaborate a little what you mean by "betraying".
- ChrisRR 4y agoI don't keep up with desktop dev, but can I develop a Linux UI using C# and .NET yet?
- hu3 4y agoCheck https://avaloniaui.net https://avaloniaui.net There's also https://github.com/dotnet/maui https://github.com/dotnet/maui from Microsoft but it's not mature yet.
- runevault 4y agoLast I saw MAUI for Linux hasn't shipped yet, to the sadness of many. Avalonia is probably your best bet if you want Linux support for now.
- cwbrandsma 4y agoI would check Maui for that. I haven’t used it, but apparently there is a community supported version that gives Linux desktop support.
- magicalhippo 4y agoThere's also the more direct route by using say Gtk directly[1]. [1]: https://github.com/GtkSharp/GtkSharp https://github.com/GtkSharp/GtkSharp
- ZiiS 4y agoGTK/Gnome style UIs have supported C# for decades at this point. Including some programs that were shipped by most mainstream Distros https://en.wikipedia.org/wiki/Tomboy_(software) https://en.wikipedia.org/wiki/Tomboy_(software) (not without controversy; but technically they worked well)
- rcarmo 4y agoYes. I've done it (a PoC and a personal app) for Linux and the Mac last year. Notes at https://taoofmac.com/space/blog/2021/11/14/1600 https://taoofmac.com/space/blog/2021/11/14/1600
- pxc 4y agoAnd still, there is no Visual Studio for Linux, and Microsoft is committed ( https://isdotnetopen.com/ https://isdotnetopen.com/ ) to ensuring that VSCode provides a second-class .NET experience to Visual Studio proper. Seems best avoided by any company which is not already a Microsoft shop.
- ZeroCool2u 4y agoI've recently been working with a C# app that's based on a nearly out of support .net 3.X version I think. It's fully inherited from a tech partner, but we have free reign to modify it as needed. I was excited to try and port it from a Windows only older .net app to .net core 6, but unfortunately too much of it doesn't have a simple to port to equivalent in .NET 6 and it would require us to completely rewrite it. This is all because it's a SOAP client, so I'm happy to forgive Microsoft for not spending too much time there. We don't have any control over that part either. It's the only thing in our entire infrastructure that runs on Windows and costs multiples of just about anything else we've got running, because of the Windows license. Huge bummer. We did get it streaming our data into BigQuery though, so that was cool to see work so well even on an older code base. I think at this point my last real major gripe with .NET is Visual Studio. I've used it on and off over the years, but every time I get back into it, it's just so much mental overhead to try and understand how the hell things are organized. It's like jumping into an ice bath coming from JetBrains/VS Code land. Just really unpleasant, but I don't think I'll be able to get away from it with this older C# code base. Somewhat unrelated. I really wish Microsoft would improve the install/packaging story for their C++ build tools on Windows. Trying to guide your IT department on how to install specific compiler versions to get TensorFlow/PyTorch and more importantly other less popular Python packages that require you to build from scratch on Windows has been a nightmare for so long. It's one of the things I mostly singularly dread dealing with. I really wish we could just enable the dev/compiler tool chain support without requiring admin credentials and have it be fully automated instead of trawling around the nightmarish Microsoft downloads site.
- ivraatiems 4y ago> I think at this point my last real major gripe with .NET is Visual Studio. I don't understand - what's stopping you from using JetBrains Rider? I use it and I work on some pretty ancient .NET projects from time to time.
- sylens 4y agoNot everybody's company is going to pay for a license if they already are licensing Visual Studio for everyone. As an individual, I only have a little bit of time to tinker with personal projects, and while I like C#/.NET so far, I'm not yet at the point where I feel comfortable paying for Rider's subscription. So I'm also mostly using VS2022 Community and VS Code (on macOS) so far. Hoping to eventually get to a point where paying for Rider becomes a no brainer.
- lol768 4y agoFor reasons currently unclear to me, installing this seems to cause apt to remove Discord. The following packages have unmet dependencies. libc++1-14 : Depends: libunwind-14 (>= 1:14.0.0) but it is not installable libc++abi1-14 : Depends: libunwind-14 (>= 1:14.0.0) but it is not installable E: Unable to correct problems, you have held broken packages.
- runfaster2000 4y agoContext: https://bugs.launchpad.net/ubuntu/+source/dotnet6/+bug/1984450 https://bugs.launchpad.net/ubuntu/+source/dotnet6/+bug/19844...
- jcelerier 4y agoit's always the same debian / ubuntu package mess. moving to Arch has made this specific headache entirely go away
- ladyanita22 4y agoCan you have several versions of the same package with pacman?
- jpetso 4y agoOn an opposing note, updating my Arch system (pikaur -Syu) recently wanted to install Electron 20 and remove Electron 19, which the element-desktop package was still depending on. I wasn't using it so that's an easy uninstall. But there's nothing inherent about Arch that prevents these issues from popping up every now and then.
- jcelerier 4y ago> On an opposing note, updating my Arch system (pikaur -Syu) recently wanted to install Electron 20 and remove Electron 19, hm that's weird, with yay it only ever adds new electron versions, never removes the old ones. e.g. there's electron12 to 20 in the repos and they can be installed side by side
- 4y ago
- MarkSweep 4y agoI wonder if this opens the door for .NET applications to be included in Ubuntu? Neither this blog post nor Ubuntu’s [1] mention that as a possibility. Just thinking from a Ubuntu package level, where libraries live in packages separate from executables, it might be possible to create library packages using the result of ‘dotnet store’. Then executable packages could reference them when running ‘dotnet publish’. [2] That way multiple executable packages could share common libraries. Replicating the packages of a language package manager (Nugget in this case) into a system package manager (apt in this case) is probably not fun. You will end up with dependency nightmares or one system package per version of Nugget package. So maybe it’s not worth doing. [1]: https://ubuntu.com/blog/install-dotnet-on-ubuntu https://ubuntu.com/blog/install-dotnet-on-ubuntu [2]: https://docs.microsoft.com/en-us/dotnet/core/deploying/runtime-store https://docs.microsoft.com/en-us/dotnet/core/deploying/runti...
- jayd16 4y agoIronically, .NET is positioned to use a shared runtime but Linux has all the package manager tooling and Microsoft's never took off. The buggy nature of shared runtimes on Windows meant that the culture is to ship a full runtime with your .NET app. I'm not sure going back to shared runtime libs is worth the headache but I guess if you were really resource constrained but running .NET it would work for you.
- guhidalg 4y agoI don’t think it would be wise for apt to repackage or recreate Nuget functionality. The initial install of dotnet should be done by apt, the packages should be handled by Nuget.
- pxc 4y agoIf you want to package an application which depends on a library, you have to package the library, too. This is the (pretty much sole) reason that distros package libraries. From a technical perspective it's pretty much a solved problem for any language ecosystem whose dependency management is reproducible, is uniform enough to support basic automation, and supports some measure of vendorization.
- alanwreath 4y agoI swear Ubuntu is being prepped to become Windows 12
- Bolkan 4y agoI know right, I can't wait.
- game_the0ry 4y agoQuestion for the experienced .net folks - how is the dev experience of .net on linux vs .net on windows? Is it smooth or clunky? Pretty cool and interesting that a big linux vendor is on board with .net.
- EnKopVand 4y agoIt depends a bit on what tools you use, but if you've jumped the ship from VS to VSC and mainly use the dotnet cli for things then there isn't much of a difference between platforms. If you're using VS, as in really use it and all it's feature, there is going to be a massive difference. That being said, I've used .Net and C# for over a decade and it's frankly just a clunky language and toolset. It's gotten better with Core (now just.Net), but it's still just not there. It's not a secret that we've been doing more and more TypeScript where I work, but I recently did a little bit of Go and Gorm made EntityFramework feel like something from the stoneage. So I'm not sure I'd really recommend it unless you already do a lot of .Net. It's not that it's bad, it's just that it's a dated way to build things in a world where the Java way of doing things makes less and less sense.
- TheRealDunkirk 4y agoI haven't used Go, and Gorm is new to me. I've just looked at it (with 15 years of AR experience, and a couple of EF), and it looks quite a bit like EF to me. In your mind, what makes it significantly better than EF?
- EnKopVand 4y agoI think it's the first time I've used an ORM where it was effortless. I still struggle with EF from time to time. It obviously lacks a lot of the wider .Net features, like having easy access to ODATA for all your models.
- hu3 4y agoInteresting. Does Gorm have anything like Linq? autocompletion of queries? Compile-time validation between code and schema? Once I disable Entity Framework object cache globaly (AsNoTracking), it becomes close to the ideal db toolkit for me. I see a lot of strings in Gorm docs. Those are probably not checked during compilation. This alone differentiates Gorm and EF quite a bit. https://gorm.io/docs/create.html https://gorm.io/docs/create.html
- pipeline_peak 4y agoIs the runtime environment CLR?
- ledgerdev 4y agoYep, very similar to the JVM. Also .net7 is releasing platform native aot exe compilation (for simple scenarios) so you don't have to run the full CLR & JIT saving lots of memory.
- noisy_boy 4y agoI'll take the opportunity to jump on this thread to fish for recommendations on courses/guides to learning C# to be used with .NET - for programmers. I mainly see those that are way too simple or way too Windows specific.
- profwalkstr 4y agoThe O'Reilly book "C# in a Nutshell" is an excellent resource
- samuell 4y agoMoved to Debian 11 after (X)ubuntu moved to snap packages. Anybody knows if this affects the ease of installing on Debian 11 in any way?
- 6581 4y ago> Anybody knows if this affects the ease of installing on Debian 11 in any way? MS provides packages for Debian. https://docs.microsoft.com/en-us/dotnet/core/install/linux-debian https://docs.microsoft.com/en-us/dotnet/core/install/linux-d...
- synergy20 4y agoA fully devoted Linux developer here that never touched Windows' ecosystem(.NET, Visual C++, win32 api, all those), any reason for me to jump on .NET? where does this runtime run(x86/windows, now linux, what about MacOS, and embedded systems), and what's the selling point(web framework in c++ like language? a better c++/java?) https://learnxinyminutes.com/docs/csharp/ https://learnxinyminutes.com/docs/csharp/ it looks more like Java than c++ to me. On a different note, I will state this again: I think microsoft will acquire Canonical one day.
- stetrain 4y agoIt runs on Windows, Mac, and Linux x86/x64/Arm64 The main target is enterprise software systems and web backends. Asp.Net is a very mature framework for Web APIs and MVC applications. Entity Framework is a decent ORM solution supporting several popular DBs with tools for code generation and migrations, and LINQ is a complementary query language that is useful for in-memory collection operations as well as db queries. And I think the largest value is in the NuGet software library ecosystem, things like MassTransit for service bus and queue communication and many many others. It’s a well-supported ecosystem of first party and third party software with a lot of modern features, but definitely still in the realm of managed runtimes so not a competitor to C, Rust, etc.
- phwak 4y ago> Asp.Net is a very mature framework for Web APIs and MVC applications. *ASP.NET Core
- stetrain 4y agoTrue, the non-Core versions really aren’t worth considering for a new dev entering the ecosystem, and MS has made it clear that .NET Core is .NET going forward.
- WorldMaker 4y agoASP.NET is rumored to drop the "Core" name somewhere in major version 7/8/9, just as .NET dropped "Core" in .NET 5, which is a higher version number than both sides of the fork. There was briefly an ASP.NET 6 (technically, the baroque "ASP.NET 5 MVC 6"). There's never yet been a version higher than that. I think part of the hold up there were some builds of the old Entity Framework made to version 8 or 9, and ASP.NET is not likely to drop "Core" until EF Core is able to drop "Core"?
- deleted 4y ago[deleted]
- ptx 4y agoDoes it come with telemetry enabled by default[1] as the Microsoft binaries do? Or does the Ubuntu version either remove that code or make sure to set the DOTNET_CLI_TELEMETRY_OPTOUT environment variable everywhere? If "Canonical and Microsoft are committed to working together", probably the former. [1] https://docs.microsoft.com/en-us/dotnet/core/tools/telemetry https://docs.microsoft.com/en-us/dotnet/core/tools/telemetry
- sedatk 4y agoYes, telemetry collection is still opt-out. I just tried it.
- omajid 4y agoAre you sure about that? Can you share the steps I can run to reproduce that? I am looking at the sources at https://packages.ubuntu.com/source/jammy-updates/dotnet6 https://packages.ubuntu.com/source/jammy-updates/dotnet6 and (as far as I can tell) they are applying a patch called 1500sdk-telemetry-optout.patch (originally from Fedora https://src.fedoraproject.org/rpms/dotnet3.1/blob/f36/f/cli-telemetry-optout.patch https://src.fedoraproject.org/rpms/dotnet3.1/blob/f36/f/cli-...) that is supposed to make telemetry opt-in. There's a better fix landing upstream for .NET 7: https://github.com/dotnet/sdk/pull/25935 https://github.com/dotnet/sdk/pull/25935
- andrewstuart 4y agoAs a recruiter, it is clear that the most successful languages still growing in popularity in 2022 are: C# JavaScript/TypeScript Python Edit: golang is small in terms usage but is on the way up definitely All the rest are in decline or remaining at a constant level of acceptance. So if hiring / recruiting is important, use C# or TypeScript or Python. If you want to cause yourself deep hiring/recruiting pain, build your systems with Ruby or use lesser known frameworks and languages such as Erlang/Elixir. C# seems like an excellent choice for Linux based development - it's mature, there's a vast talent pool, theres vast knowledge and community resource for getting problems and questions answered.
- FlyingSnake 4y agoI’m curious, why not Java? I’m sure Java and JVM languages like Kotlin are quite popular in the industry.
- andrewstuart 4y agoIt's just my opinion that Java is waning in popularity. It will always be big and always be around, but it's losing popularity.
- rnk 4y agoYour list was surprising but I'm in infrastructure software. There seems endless demand for c++, java and lately rust as the languages used for database implementations.
- int_19h 4y agoYou should clarify which country you recruit in/for, because these things can vary a great deal between different markets.
- andrewstuart 4y agoAustralia.
- turtlebits 4y agoI still feel Microsoft development experience is pretty poor and has been sometimes hostile in the past, and still don't have much confidence nowadays. Maybe because it's not a popular language, but the F# experience for me has been bad - tried it two years ago with F# 5, and recently with F# 6. The documentation in both cases was immature/inconsistent to broken.
- markmark 4y agoF# is very much a second-class citizen in the Microsoft world.
- moonchrome 4y agoEvery time I tried F# with .NET tooling it felt like the implementations were there to tick the "supports F#" checkbox - and nobody actually used it for the thing I tried to do because it broke really early on. Early on one of the big selling points was reading all those type provider articles. Then I've tried it a couple of months ago and it was such a broken mess - not worth the time. From what I've read this isn't just my experience. With, record types, switch expressions, top level expressions, file scoped modules, global usings, etc. C# removed a lot of cruft. Roslyn source generators actually work unlike type providers. If they improved the REPL/scripting aspect of C# I think there would be very little arguments for F# other than catering to FP crowd who like to like |> to |> write |> like |> this instead of this(like(write(to(like))))
- throw868788 4y agoI've used F# in a professional job and its fine - on very large scale apps for large corps. There's features in it that I feel make certain apps much easier to write that have no equivalent in C# or C# is just starting to get them. Its also easier to teach IMO than C# since code typically uses less concepts. The usual features (e.g TP's) that are used to sell the language though I feel are oversold and tbh not the main reason F# users like the language - in fact I think TP's need an overhaul and are a distraction. Inlining code for math (which is just getting an equivalent like feature in the next C#), unions/records together, functions and type inference, leaning to compile time vs runtime dispatch in code style, etc I feel are where its strengths are at. More than features I've found for large scale projects its just easier to spot bad code in F#, less bugs have made it ot Production when .NET teams have tried it, and less of it makes it to code reviews. I've found F# tooling at least for VS Code more stable than the C# equivalent. But that's not saying much - most languages plugins for VS Code don't feel that stable to me if not JS (e.g. the Java one used to crash on me all the time). In VS Studio, Rider, etc are options. Documentation should be improved sure especially for people getting into it; but it is the smaller language and documentation goes out of date quickly. This obviously penalises the new starter without a mentor/senior dev to teach them in the job/elsewhere.
- AtNightWeCode 4y agoWhy not use PublishSingleFile for containers instead and get image sizes well below 100MB?
- GekkePrutser 4y agoCanonical has been cuddling up to Microsoft for years. With the WSL collaboration (I know there's other distros but Ubuntu is the one in all the marketing buzz). Tbh I'm surprised they haven't been acquired by Microsoft yet. They're clearly aiming straight for it. I probably would do the same if I were them, too.
- livinglist 4y agoI started writing mobile apps for windows phone when I was in high school (2013-2016), then it got killed years later… then when I got into college, they had this things called UWP (Universal Windows Platform) I wrote a simple kanji dictionary for it, then 2 years later, it got killed. After then I started sticking to Flutter and native iOS, got tired of being played like that lol