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? 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.
Visual Studio Code, however, is just a code editor. It won't give you extra flexibility. Thanks for the quick answer.
Aug 20, 2018 - Visual Studio for Mac version 7.6. The new release or updating your existing install to the latest build available in the Stable channel.
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. 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. Correcting mistakes is really daunting and the best is really to develop from Mac to mitigate the damages, but it won't be hurdles free as well!
It took me more time debugging than coding within VS Windows. After developing chunk of your app within Visual Studio MAC, the best is to get the code on the windows machine and arrange it to work in UWP. UWP apps compile fastly and like a charm, so better is to get rid of errors within macOS, IOS, Android, and then go and adapt to UWP.
This is easier IF YOU THINK ABOUT CHOOSING THE CORRECT LIBRARIES (working on all platforms, hence check my last advice). From VS Mac, compile using macOS as a host! It's the easiest way to develop fastly, and correct your bugs. Here is an article on how to get started from Mac: Cons: Always having to commit the code for it's use within UWP. But that's also a good way to save your project as well, so that if you screw up (like it happened to me numerous time) you roll back. Hope that helps others whom didn't know what to do and where to start. ALSO: Don't follow tutorials dating from before 2017.
Use the.Netstandard/.NET Core framework to develop your App so that libraries are more portable (following the blog article above should do). Otherwise, headaches ahead!