I recently bought an iMac in order to develop my App on Visual Studio for Mac in a better environment (lots of issues on Windows), but on the Visual Studio for mac, there is no UWP projects. It is understood that I have to create a new.NET project, but what are exactly the steps to follow in order to achieve that correctly for the app to work on Windows with a peace of mind? Should I have gone with Visual Studio code, which support the.NET core framework completely?

Build cross-platform Web applications with.NET Core using Visual Studio for Mac Customize your productive and collaborative development environment This book is for software developers using a Mac computer who want to build mobile or web applications that run on multiple operating systems.

I saw on other answers that I need the.NET SDK tool, and so forth, but further details are needed if you don't mind on the why (not the installation stuffs, only the tech savvy explanations for the app to build correctly at the end! .NET is a big ecosystem.

As you cannot develop all kinds of.NET projects using Visual Studio on Windows (Xamarin.Mac for example), you cannot do the same using Visual Studio for Mac (like you found, WinForms/WPF/UWP and so on). Such limitation comes from vendor SDK availability or other underlying systems.

In your case, you can easily develop web apps, Mac apps, and iOS apps. If you do want to develop Windows specific apps, like the other answer shows, please use Windows. You mentioned '.NET SDK', but I believe that should be '.NET Core SDK'.NET Core apps are cross platform. Thus, you can develop such apps in Visual Studio for Mac, and then deploy to Windows. However, so far only console apps and web apps can be developed. What might happen in the future is still to be determined.

Beginning Visual Studio For Mac: Build Cross-platform Apps With Xamarin And .net Core

Visual Studio Code, however, is just a code editor. It won't give you extra flexibility. Thanks for the quick answer. Relating to my laziness, I don't have any windows machine for now. I think that I can wait to see answers from people having developed cross-platform apps before buying and downloading windows, installing it on a VM, and re-install Visual Studio completely right? The whole thing just after I sold my Windows machine to buy a mac on which I thought I would be able to use Visual Studio just like in Windows, only to find out that I need to go back to windows if I want my app to be fully cross-platform. Thanks for the enlightenment though!

I will follow your lead! – Apr 22 '17 at 19:09. For those whom imperatively needs to develop their app on all platforms, here is what I did, and the pros and cons: • Buying an Imac, thinking that I could also develop UWP projects within it After realizing that I couldn't, I bought a cheap Windows 7 pro License on ebay (around 5$), and installed it on VirtualBox. From there, I upgraded to Windows 10 for free and installed everything. It worked like a charm. Outlook for mac cannot search email.

Cons: Buying a brand new IMac while a Macbook pro would have been better. An old one even since YOU CAN'T upgrade the ram.

Working on 8go of ram computer when you must give 4go of RAM to your VM isn't quite great. 4go gets you a laggy environment! Really frustrating. So, prefer something older, but up-gradable (a cheap Macbook pro with 16go of RAM would do). Not to mention that you will have to install Ubuntu as another VM in order to setup a.Net core Server for the majority of you.

• What environment to favor while developing, most importantly when you are a C# and Xamarin noob like me? The best being to develop from Mac as you will have FAR LESS ERRORS AND BUGS than in VS for Windows.