My Experience Developing .NET Applications on a Mac

In this post we're going to talk about one of the pieces of misinformation circulating on the internet. 

 

Today we’ll find out if you can program C# on Mac, and what my opinion and experience is after having used a Mac as my main machine for several months. 



1 - Is .NET supported on Mac?

First of all, let's talk about whether or not we can install .NET on our machine. Just as we saw in the post about programming .NET on Linux, yes, programming on a Mac is totally possible, as long as you’re not working on .NET Framework. Since the arrival of .NET Core we can run C# and F# code on Mac. 

 

I won't drag this out longer, if you want to install .NET on Mac, you’ll find the installer on the official Microsoft website

And needless to say, the rest of the apps we usually use to code, like docker, git, etc., work just fine.

 

1.1 - Apple silicon vs Intel

One thing I want to highlight is the difference between Apple silicon processors, both M1 and M2, and Intel processors.

 

The vast majority of C# libraries were written on Windows computers, or Macs with versions prior to 2021, meaning they use x64 (or x86) processors, whether Intel or AMD. The key here is, these are different architectures, and some libraries might not have support for Apple silicon. Nowadays, in 2023, this isn’t that common, but I personally had this problem with a couple of libraries when I worked in Ruby.  

 

 

2 - Developing C# applications on Mac

We could include F# here, but personally I don’t work with it, and as you know, I only speak from things I’ve experienced, so in my case, C#. 

 

To start with, I didn't have any problems, neither with the CLI nor running the IDE. In fact, not only that, all the content from my YouTube channel over the last two months has been created on the Mac. The code, the recording, and the video editing. 

 

In this post I'm not going to explain how to create an app on Mac, because as I say, it’s the same as on Windows and there are other courses for that. What I will do is talk about the different IDEs we have on Mac to program with .NET. 

 

2.1 - Visual Studio on mac

First of all, let’s look at the official Visual Studio for Mac version from Microsoft. 

 

The truth is it works, but it’s ugly as hell. And yes, maybe the looks aren't super important, but it should have a minimum level of quality; honestly, I don’t know how anyone can program here, but oh well. 

 

Then, it lacks many features that Visual Studio for Windows does have. I’m not even talking about plugins, because there aren't any, not even Copilot, which Microsoft has heavily promoted.

 

But there are other more basic things missing too. For example, when you run a test, and it passes or fails, in Visual Studio on Windows we see a green tick or a red X next to the test. In VS for Mac, we don’t see anything, only in the (also very ugly) test tab if we open it.

visual studio mac

Another detail, not that important but still there: as you can see, all projects have the same icon, the IDE can't tell the type of project. For example, you can’t right-click the test project to run its tests. 

 

Everyone can do as they wish, but I don't recommend programming in Visual Studio for Mac for even a minute. 

 

2.2 - Programming C# with Visual Studio Code for mac

Since I started working with the Mac as my daily laptop until now, it’s only been two months. And in these two months, things have happened with Visual Studio Code (both for Mac and Windows);

 

Two months ago I would have said it was impossible to do anything with Visual Studio Code, and it wasn’t really impossible, but it was a bit miserable, to be honest. Today, everything is different, let me explain. 

Until recently, we had a C# extension from Microsoft: 

micorosft c# extension vs code

With this extension we can simply open a project like a folder and work on it.

 

This extension gives us Intellisense (autocompletion and suggestions), lets you run tests, etc. It’s not as complete as Visual Studio, since you have to rely heavily on the CLI for things like running the build, but it works.

 

What has changed recently (June 2023) is that we now have another extension: C# dev kit. Honestly, I could write a whole post about just this extension.

c# dev kit

  • Note: It also installs Intellicode, which we can remove manually, but it's actually handy to have it.

 

With this extension, Visual Studio Code can open the project as a .NET project inside the IDE, and visually organizes things like a real IDE, showing the projects.



And here we have full control with the right mouse button. That means the IDE recognizes it as a project, we can build, clean, add projects, etc.

visual studio code with c# dev kit

 

There’s still some stuff missing, like what I mentioned about detecting the type of project when right-clicking (to run all the tests), but it now brings a test explorer that’s quite good, and it marks in the IDE itself that the test has passed:

test run c# extensions

 

The current version is a preview, and by the time they release the official 1.0 version, I'm convinced it’ll be much better than Visual Studio for Mac. In fact, for me, it already is, and with what I’ve tried, I’m honestly very happy. 

 

Final note: C# dev kit has the same license as Visual Studio, so if you’re a student, a teacher, or you do open source, you don’t have to pay. But if you’re part of a company and making a profit with it, you do. 

 

 

2.3 - Programming with Rider on mac

Finally, the last IDE we have available for programming C# on Mac. Jetbrains Rider, personally, it’s my favorite IDE, and before anyone says that this is sponsored, it’s not (but I wish it was). 

I've been using it for years, not only in my YouTube videos but also at work, and in my opinion it’s the only real IDE on Mac. On Windows we could debate if the new versions of Visual Studio are actually competitive with Rider, but on Mac there’s no discussion.

 

It’s a full IDE, with nothing missing. Actually, it’s as complete or more. Plus, it's cheaper than the enterprise version of Visual Studio, for example, VS Pro doesn’t include code coverage, so for all the features in Rider on VS, you have to buy the enterprise version.

jetbrains rider en mac

But again, this isn’t a post to compare Rider and Visual Studio Code, since right now, they're still at different levels. 




3 - My Experience using mac as my daily driver in C#

Now we’re entering the section where I just give my opinion. I’m going to say two things that contradict each other. 

 

Here’s the reality: I've loved working with the Mac. When I left the startup they gave me the Mac I'd been working with, a 2021 16” M1 Macbook Pro. Honestly, it’s a really good machine:

 

But I'm going back to Windows, and for two reasons: First, I use Windows at work. Even though I don’t share files or anything between devices, in the end I’m working remotely and use a keyboard and mouse for two machines. The Mac keyboard works, but it's slightly different from the Windows one, like control and accents, which can get a little tedious sometimes.

 

Second, my idea is to sell this laptop, which, as I said, works like a dream, and invest the money in a desktop with a ton of RAM and a new processor. Also, I still have the Razer Blade 2019, my previous laptop before the Mac. 

 

Finally, I’ll say this is the second time I’ve had a Mac. The last time was from 2011 to 2019 (when I bought the Razer), and I sold that one for 500€. They really are very good machines that last a long time. 

 

I could go on more about what I liked and didn’t like about the Mac. For example, MacOS is still trash and the Mac battery is amazing: I get more than 8 hours with Rider and Docker running. But this post isn’t about that, and I think you get an idea of what it’s like to work on Mac with all that I’ve mentioned so far. 

 

So yes, you can program, and quite well, C# applications on a Mac. 

This post was translated from Spanish. You can see the original one here.
If there is any problem you can add a comment bellow or contact me in the website's contact form

Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2025 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café