Crossover Mac Visual Studio

After Microsoft today announced the general availability of Visual Studio for Mac, many developers on forum sites questioned if it's really the same IDE that Windows users have known and loved for years, or a refactored, rebadged and rebranded version of Xamarin Studio - and no less than Xamarin chief Miguel de Icaza himself weighed in with some answers. Mar 01, 2017 Hi OrchestraMusic, Welcome to the MSDN forum. Now we have two Visual Studio versions (Visual Studio for Mac, Visual Studio Code) that can directly install on the Mac (macOS), refer to your description, it looks like you installed the Visual Studio for Mac, it is a developer environment optimized for building mobile and cloud apps with Xamarin and.NET. But don’t take my word for it: here are five reasons to give Visual Studio for Mac another go! The C# Editor in Visual Studio for Mac is Completely New. Roslyn, the.NET compiler platform, is now in the Visual Studio for Mac editor - making your intellisense as powerful as its big brother on Windows. Don’t buy a Windows license, don’t reboot or use a virtual machine until you try CrossOver for Mac, Linux, or ChromeOS. Download a free 14 day trial now and get your Windows apps running on Mac and Linux. CrossOver allows you to place a customizable crosshair overlay above any application window. Improve your aim and gain a competitive advantage with a permanant colored crosshair to mark center screen.

-->

This tutorial shows how to publish a console app so that other users can run it. Publishing creates the set of files that are needed to run your application. To deploy the files, copy them to the target machine.

Prerequisites

  • This tutorial works with the console app that you create in Create a .NET console application using Visual Studio for Mac.

Publish the app

  1. Start Visual Studio for Mac.

  2. Open the HelloWorld project that you created in Create a .NET console application using Visual Studio for Mac.

  3. Make sure that Visual Studio is building the Release version of your application. If necessary, change the build configuration setting on the toolbar from Debug to Release.

  4. From the main menu, choose Build > Publish to Folder....

  5. In the Publish to Folder dialog, select Publish.

    The publish folder opens, showing the files that were created.

  6. Select the gear icon, and select Copy 'publish' as Pathname from the context menu.

Inspect the files

The publishing process creates a framework-dependent deployment, which is a type of deployment where the published application runs on a machine that has the .NET runtime installed. Users can run the published app by running the dotnet HelloWorld.dll command from a command prompt.

As the preceding image shows, the published output includes the following files:

  • HelloWorld.deps.json

    This is the application's runtime dependencies file. It defines the .NET components and the libraries (including the dynamic link library that contains your application) needed to run the app. For more information, see Runtime configuration files.

  • HelloWorld.dll

    This is the framework-dependent deployment version of the application. To execute this dynamic link library, enter dotnet HelloWorld.dll at a command prompt. This method of running the app works on any platform that has the .NET runtime installed.

  • HelloWorld.pdb (optional for deployment)

    This is the debug symbols file. You aren't required to deploy this file along with your application, although you should save it in the event that you need to debug the published version of your application.

  • HelloWorld.runtimeconfig.json

    This is the application's run-time configuration file. It identifies the version of .NET that your application was built to run on. You can also add configuration options to it. For more information, see .NET run-time configuration settings.

Run the published app

Visual Studio Mac Review

Crossover
  1. Open a terminal and navigate to the publish folder. To do that, enter cd and then paste the path that you copied earlier. For example:

  2. Run the app by using the dotnet command:

    1. Enter dotnet HelloWorld.dll and press enter.

    2. Enter a name in response to the prompt, and press any key to exit.

Additional resources

Next steps

In this tutorial, you published a console app. In the next tutorial, you create a class library.

Visual Studio has not always been as user-friendly on the Mac as it is on a Windows machine. Lately, however, the stable release of VS for Mac is really starting to feel like a simple, but luxurious cousin to Visual Studio 2019. Different, but related. Installation on a Mac is quick, simple, and allows you to get into coding right away - whether you are already familiar or an Apple-only dev getting into something new like Xamarin.

Visual Studio for Mac bears a striking similarity to xCode’s solution navigation feel, but brings the power of VS intellisense and an ability to focus on your code in a much cleaner looking environment. In my opinion, this brings the best of both worlds together. But don’t take my word for it: here are five reasons to give Visual Studio for Mac another go!

1. The C# Editor in Visual Studio for Mac is Completely New

Crossover Mac Visual Studio

Roslyn, the .NET compiler platform, is now in the Visual Studio for Mac editor - making your intellisense as powerful as its big brother on Windows. Marrying the functionality ported over from the Roslyn compiler with the (frankly, beautiful looking) simplicity of a native-feeling Mac UI editing experience gives this girl all the feels. It has full support for third-party Nuget packages for .NET Core (utilizing .NET Standard) along with Unity, Xamarin and Cocoa apps.

I didn’t notice a big difference gating my progress of a .NET Core app. At this point, I don’t know why I would switch over to a windows VM in order to build a microservice API in .NET Core at all!

Finally, I’m loving that VS for Mac now includes “Go to implementation” as an option in the latest release. Exciting! The C# experience is pretty great now.

2. CLI Developers Can Open .NET Core Projects in Terminal

Ah, the command line. Many developers love using it for .NET Core instead of the “visual” click and drag aspect of the Visual Studio IDE. At first, the use of command line programming with ASP.NET Core was the only way you could build those apps. Over time, and especially with the release of Visual Studio 2019, the File > New Project templates for ASP.NET Core apps have been baked into the install bringing a truly visual experience to that build.

For a while, it was unclear if the same command line net new project CLI functionality would be available on Mac, but I am happy to report that it is and it works beautifully! The use of the Terminal app brings that experience to you harcore command line devs.

3. Improved Build Time for Xamarin

Remember those build and deploy coffee breaks? Well say goodbye (unless you don’t want to of course). On one of my Xamarin projects I saw a super impressive 30% faster incremental build time. That’s not an insignificant improvement.

This metric is also supported by the April 2019 press release from the VS for Mac team. I used to design my development process in such a way that I could multitask to stay efficient and productive. I’m happy to report those days are gone with much improved build speeds, making the Xamarin app building process something I can say I truly enjoy.

4. .NET Core 3 Support Available Right Out of the Gate

Crossover Mac Visual Studio 2017

Does Visual Studio 2019 have .NET Core 3 support? Yes, but that’s no reason to jump over to your Windows machine! You can use all the same, wonderful new stuff on your Apple machine, too.

In fact, I’d argue that Visual Studio for Mac is an excellent place to start learning how to build apps for .NET Core 3. With fewer small windows everywhere like it’s Windows-based cousin, VS for Mac allows for a more-focused process.

5. Robust Source Control Options

This is where some “same but different” comes into play. I find that developers coming over from Swift or Objective C development enjoy the experience of source control within Visual Studio for Mac. While there IS a difference in the process for Windows users, I don’t find it particularly difficult. Visual Studio for Mac supports Git and Subversion built into the IDE, as well as TFS with a little more effort.

I have used the Github Desktop app for source control of my folders without much issue. This is also my source control workflow for VS Code, and while it is not integrated into the IDE of VS for Mac, it’s also not a bad option. For the hardcore command line peeps, you can alternatively use Git inside the CLI tool Terminal, which is native to Apple OS. There is no learning curve here at all for developers who use command line.

Who Should Use Visual Studio for Mac?

Visual Studio for Mac is a strong choice for many developers and many use cases. Here are a few that come to mind:

  1. .NET users building Xamarin mobile apps that require IOS builds will benefit tremendously from having all their development on a single machine.

  2. Developers working with .NET Core, who love working on a Mac, and currently use a virtual machine or Bootcamp to run Visual Studio in a windows environment will benefit from not having to switch over from the Apple operating system constantly.

  3. Unity game developers will find VS for Mac be very intuitive option.

Mac

The last group to come over will be .NET Framework developers who have worked with Visual Studio on Windows as their only option for .NET 4.7.2 for example. Sadly no, .NET Framework cannot run on VS for Mac. However, once you are ready to start building your apps or microservices in .NET Core - check it out!

New functionality, extensions and templates are all coming this next year to Visual Studio for Mac that make living in harmony with Apple + Microsoft a real joy.

Learn More About .NET Core, Xamarin, Apple & OAuth

Crossover Mac Visual Studio Community

If you’d like to learn more about ASP.NET, Xamarin, or Apple, we’ve also published a number of posts that might interest you:

For other great content from the Okta Dev Team, follow us on Twitter and Facebook!

Please enable JavaScript to view the comments powered by Disqus.