Visual Studio Icon Visual Studio 2019 for Mac Release Notes


|Developer Community | System Requirements | Compatibility | Distributable Code | Documentation | Blogs | Servicing |


Click the button to download the latest version of Visual Studio 2019 for Mac. For information on the system requirements see the see Mac System Requirements and Mac Platform Targeting and Compatibility guides.

For instructions on installing and updating Visual Studio 2019 for Mac, see the Install Visual Studio for Mac guide.

To learn more about other related downloads, see the Downloads page.


What's New in Visual Studio 2019 for Mac

Visual Studio 2019 for Mac Releases

Visual Studio 2019 for Mac Blog Posts

The Visual Studio Blog is the official source of product insight from the Visual Studio Engineering Team. You can find in-depth information about the Visual Studio 2019 for Mac releases in the following posts:


Release Highlights

Known Issues

Refer to the Known Issues section.


Release Notes Icon Visual Studio 2019 for Mac version 8.3.10 (8.3.10.2)

released November 21, 2019

This service release fixes the following issues:

Release Notes Icon Visual Studio 2019 for Mac version 8.3.9 (8.3.9.2)

released November 18, 2019

This service release fixes the following issues:

Release Notes Icon Visual Studio 2019 for Mac version 8.3.8 (8.3.8.8)

released November 11, 2019

This service release fixes the following issues:

Release Notes Icon Visual Studio 2019 for Mac version 8.3.7 (8.3.7.1)

released November 5, 2019

This service release adds support for Xcode 11.2.

Release Notes Icon Visual Studio 2019 for Mac version 8.3.6 (8.3.6.4)

released November 1, 2019

This service release addresses crashes on macOS Catalina as a result of increased memory pressure in that OS version.

Release Notes Icon Visual Studio 2019 for Mac version 8.3.5 (8.3.5.13)

released October 28, 2019

This service release fixes the following issues:

Release Notes Icon Visual Studio 2019 for Mac version 8.3.4 (8.3.4.7)

released October 14, 2019

This release fixes issues that were causing Visual Studio for Mac to crash on Catalina. If you are experiencing crashing, please switch to the Preview channel.

Release Notes Icon Visual Studio 2019 for Mac version 8.3.3 (8.3.3.8)

released October 10, 2019

This release adds support for Xcode 11.1.

This service release also fixes the following issues:

  • We removed the [Application Loader] command as Xcode has removed this application. Use the steps in this guide to upload it to App Store Connect.
  • Various crashes reported through telemetry.
  • The profiler does not start.

Release Notes Icon Visual Studio 2019 for Mac version 8.3.2 (8.3.2.32)

released October 7, 2019

This service release fixes the following issues:

  • Regular Expression Replace is missing from new editor.
  • A crash when using Navigate To with certain values.
  • Unable to insert a breakpoint when running on iOS device when using Hot Reload.
  • Error when trying to open a solution with a global.json that references a preview of .Net Core that is not installed.
  • Unable to pull up the emoji selector from the new editor.

Release Notes Icon Visual Studio 2019 for Mac version 8.3.1 (8.3.1.18)

released September 30, 2019

This service release fixes the following issues:

  • VSMac displays the error "Error fetching rights" window on launch.
  • Web Editors don't support files with jsx/tsx file extension.
  • A stack overflow while parsing F# files causes IDE to crash.
  • Azure functions cannot be published to Azure (dotnet closed unexpectedly).
  • When renaming page .cshtml the .cshtml.cs file disappears.
  • Moving more than 2 nested files does not work.
  • Entire IDE shell flashes blank when switching to/from a .xaml tab (even between .xaml files).

Release Notes Icon Visual Studio 2019 for Mac version 8.3 (8.3.0.1805)

released September 23, 2019

New Features

Web Editors

In this release, we have added support for web files to the new native code editor, which was introduced in Visual Studio 2019 for Mac 8.1

JavaScript IntelliSense in the new editor

Visual Studio for Mac will now use the new native code editor for the following file types:

  • .JS
  • .TS
  • .HTML
  • .CSS
  • .CSHTML
  • .JSON
  • .LESS
  • .SCSS

The new web editors are powered by the same native editor interface as the C# and XAML editors and are powered by the shared Visual Studio language service. With the new editors, you can expect:

  • Improved IntelliSense performance
  • IntelliSense type filtering
  • Multi-caret editing
  • RTL (right-to-left) and BiDi (Bidirectional) text support
  • Native input support
  • Improved typing performance
  • Improved text rendering
  • Word wrap
  • Improved formatting
  • Improved classification

We've also addressed numerous bugs by implementing the new editors, including bugs related to performance and file support.

Multi-Targeting

In this release we have added improved support for projects that have multi-target frameworks. Some of the features and benefits are detailed below:

  • When editing a file in a multi-target framework project, the target framework can be selected to guide the intellisense in the editor:

    Multi-target framework project editor experience in Visual Studio for Mac
  • The editor will show information in IntelliSense and tooltips about APIs that are not available for a particular target framework.

  • We have also added support for debugging against a specific framework:

    Debugging a multi-target framework project in Visual Studio for Mac

.NET Core

This release adds the ability to select the browser that is used when you run, or debug, your ASP.NET Core web application.

Select browser

Publish support for .NET Core Console and .NET Standard Library Projects

In a previous release we added the ability to publish an ASP.NET Core project to a folder. In this release we have introduced support to publish .NET Core Console and .NET Standard Library Projects. For more information on how to use this feature, see the Publish Folder documentation.

Support for launchSettings.json

When developing ASP.NET Core applications, you can configure how the application is launched for development purposes using the launchSettings.json file. For more info on this file, see the .NET Core Environments documentation. In the launchSettings file, you can configure the URL for the app to listen on as well as environment variables that are applied on run or debug. With this update, we have made it easier for you to collaborate on projects with others that may not be using Visual Studio for Mac. Visual Studio, Visual Studio Code and the dotnet CLI (Command Line Interface) all support this file.

File Nesting support

In this release we are adding automatic file nesting for ASP.NET Core projects. The auto file nesting rules applied are the same as what you find in Visual Studio. With file nesting enabled, you can focus better on the files that you edit most frequently. Generated files, and less frequently edited files will be nested under other related files.

  • For information on all .NET bugs fixed in this release, jump to the bug fixes section.

Tip

For more information on everything new with .NET Core, see the .NET Core release notes.

Unity

We've deepened the understanding that Visual Studio for Mac has for Unity projects by adding new diagnostics specific to Unity. We've also made the IDE smarter by suppressing general C# diagnostics that don't apply to Unity projects. For example, the IDE won't show a quick-fix to change an inspector variable to readonly - which would prevent you from modifying the variable in the Unity Editor.

We'll add more of these Unity-specific diagnostics as we learn best practices from developers. Let us know if there is something you'd like to see and how it would help!

New diagnostics with quick-fixes

  • UNT0001: Unity messages are called by the runtime even if they are empty, do not declare them to avoid uncesseray processing by the Unity runtime.
  • UNT0002: Tag comparison using string equality is slower than the built-in CompareTag method.
  • UNT0003: Usage of the generic form of GetComponent is preferred for type safety.
  • UNT0004: Update message is frame-rate dependent, and should use Time.deltaTime instead of Time.fixedDeltaTime.
  • UNT0005: FixedUpdate message is frame-rate independent, and should use Time.fixedDeltaTime instead of Time.deltaTime.
  • UNT0006: An incorrect method signature was detected for this Unity message.
  • UNT0007: Unity overrides the null comparison operator for Unity objects which is incompatible with null coalescing.
  • UNT0008: Unity overrides the null comparison operator for Unity objects which is incompatible with null propagation.
  • UNT0009: When applying the InitializeOnLoad attribute to a class, you need to provide a static constructor. InitializeOnLoad attribute ensures that it will be called as the editor launches.
  • UNT0010: MonoBehaviours should only be created using AddComponent(). MonoBehaviour is a component, and needs to be attached to a GameObject.
  • UNT0011: ScriptableObject should only be created using CreateInstance(). ScriptableObject needs to be created by the Unity engine to handle Unity message methods.

New diagnostic suppressors

  • USP0001 for IDE0029: Unity objects should not use null coalescing
  • USP0002 for IDE0031: Unity objects should not use null propagation
  • USP0003 for IDE0051: Unity messages are invoked by the Unity runtime
  • USP0004 for IDE0044: Fields with a SerializeField attribute should not be made readonly

We also made the following improvements for Unity developers using Visual Studio for Mac:

  • Improved the information displayed in the attach to instance dialog, including process ID
  • Added support for the hex editor when inspecting byte arrays and strings
  • Added support for pointer member access in the debugger, i.e. p->foo->bar
  • Added support for implicit conversions in array initializers, i.e. new byte[] {1,2,3,4}

Xamarin

Xamarin.Forms

XAML Hot Reload for Xamarin.Forms

You can now use the public preview of XAML Hot Reload for Xamarin.Forms in Visual Studio for Mac! XAML Hot Reload enables you to rapidly iterate on your UIs by debugging your app to an emulator, simulator, or physical device, changing your XAML, and hitting save to see those changes immediately reflected on the running app.

To enable XAML Hot Reload check the Enable Xamarin Hot Reload checkbox at Visual Studio > Preferences > Projects > Xamarin Hot Reload.

For more info, see the XAML Hot Reload documentation.

XAML Hot Reload built into Visual Studio for Mac

Visual Material Design in the XAML Previewer

Material design using Xamarin.Forms Visual now previews for both iOS and Android in the Xamarin.Forms XAML Previewer. For more information on the XAML Previewer, see the XAML Previewer documentation.

Tip

For more information on everything new with Xamarin.Forms, see the Xamarin.Forms release notes.

Xamarin.Android

Added Android 10 support for Xamarin

You can now use Android 10 APIs within Xamarin.Android. You can get started with the Android 10 by setting Compile using Android version: (Target Framework) to Android 10.0 (Q) under the Build > General tab of the Visual Studio for Mac project property pages. Features new to Android 10 include:

  • Support a Dark Theme to ensure a consistent experience for users who enable system-wide dark theme.
  • Support Gesture Navigation in your app by going edge-to-edge and making sure your custom gestures are complementary to the system navigation gestures.
  • Optimize for foldables: Deliver seamless, edge-to-edge experiences on today’s innovative foldable devices.
  • More interactive notifications by enabling suggested replies and actions in your notifications to engage with your users.
  • Better Networking APIs for Wi-Fi network requests and connectivity.
Set the Compile using Android version: (Target Framework) to Android 10.0 (Q).

To learn more about Android 10, see our documentation.

Improved Android designer split-view experience

We have made a number of improvements to the split-view experience when editing Android layouts:

  • Caret synchronization: items will automatically be selected when moving the caret in the source editor.
  • Toolbox elements can now be drag & dropped to both the design surface and the source editor.
  • The "Toggle Comment" command is now supported.

Tip

For more information on everything new with Xamarin.Android, see the Xamarin.Android release notes.

Xamarin.iOS

Xcode 11 and iOS 13 Support

This release adds support for Xcode 11 to build and debug apps for iOS 13, tvOS 13, and watchOS 6. See our Introduction to iOS 13 for more details on the new features available.

Upload to App Store Connect

You can upload to App Store Connect using the publishing wizard in Visual Studio for Mac now that the Application Loader tool is no longer included with Xcode. Our Publishing Xamarin.iOS apps to the App Store documentation page details this new workflow.

Constraints Editor

The Xamarin Designer for iOS is introducing a new way to work with constraints. When you select a constrainable view, an ellipsis will now appear in the toolbar next to the Constraints Pinning Mode selector. Click the ellipsis to display a popover for editing constraints on the selected view:

Constraints Pining Mode selector

Tip

For more information on everything new with Xamarin.iOS, see the Xamarin.iOS release notes.

New Manage NuGet packages dialog

NuGet packages can now be installed, updated, or uninstalled for multiple projects in one step with the Manage NuGet Packages dialog:

Managing NuGet packages for the solution in Visual Studio for Mac

The old Add Packages dialog has been replaced with a new Manage NuGet Packages dialog that has four tabs, giving you more control over NuGets:

  • Browse - shows packages available from the selected package source.
  • Installed - shows packages installed in the solution, or project if managing packages for a single project.
  • Updates - shows package updates available for the solution, or project if managing packages for a single project.
  • Consolidate - shows packages that have different versions across the solution.

To open the Manage NuGet Packages dialog for the solution, do the following:

  1. Make sure the solution is selected in the Solution window.
  2. Right click the solution and select Manage NuGet Packages OR select Manage NuGet Packages from the Project menu.

The tabs can be used in the following ways:

Install / Uninstall

To install a package into multiple projects, do the following:

  1. Select the package in the Browse tab.
  2. Click the Add Package button.
  3. Check the projects in the Select Projects dialog and click OK, as illustrated below:
Select Projects dialog in Visual Studio for Mac

To uninstall a package from multiple projects:

  1. Select the Installed tab.
  2. Select the package you want to uninstall.
  3. Click the Uninstall Package button.
  4. Check the projects you want the package to be uninstalled from and click OK.

Updates

To update a package in multiple projects:

  1. Select the package in the Updates tab.
  2. Click the Update Package button.
  3. Check the projects in the Select Projects dialog and click OK.

Consolidate

To consolidate package in multiple projects:

  1. Select the Consolidate tab.

  2. Select the package you want to consolidate.

  3. Check or uncheck projects in the projects list. By default projects that contain the selected NuGet package will be checked.

  4. Select the package version to consolidate to. By default the latest package version will be selected.

  5. Click the Consolidate button:

    Manage NuGet Packages dialog consolidate tab in Visual Studio for Mac

To manage NuGet packages for a single project:

  1. Select the project in the Solution pad.
  2. Right click the project and select Manage NuGet Packages, and follow the steps you need above. Note that the Consolidate tab will not be displayed but the Browse, Installed, and Updates tabs will be available

Pinned Documents

In this release we have introduced the ability to pin document tabs allowing you to pin your favorite file-tabs to keep them always open and visible:

Pinned Tabs

To pin a tab, use the Pin icon, document context menu, or the Pin/Unpin Tab command (⌥⌘P). You can also rearrange pinned tabs by dragging in the workspace.

Welcome Screen – Favorite Keyboard Shortcuts

If you're a new Visual Studio for Mac user, you will be asked to select your favorite Keyboard Shortcut Scheme as part of the first run experience, as illustrated below. Of course, you can also select a scheme or build your own from scratch later under Visual Studio > Preferences.

Welcome Screen – Keyboard Shortcuts

Visual Studio for Mac now supports Source Link. This allows you to debug into source code from NuGet packages that ship .PDBs with links to source files. Visual Studio for Mac will detect that source files are available and offer to download the source file allowing you to step through package code. Source Link also works with Mono BCL code allowing you to step into .NET Framework code as well.

Step into External Code option
Source Link prompt

New Package update information

Package update information is now displayed for SDK style projects in the Solution pad.

The way the information is displayed for SDK style and non-SDK projects has been made consistent. An update icon is now displayed with a tooltip showing the updated NuGet package version. The installed version is now displayed next to the NuGet package id for all projects types:

NuGet package updates in the Solution window in Visual Studio for Mac

Installer

The following improvements were made in the installer:

  • We added some some additional verification to make downloading packages much faster.
  • If download fails or gets interrupted for some reason, the installer will resume from the failure point rather than from the start. If for any reason cache file gets corrupted, product will be re-downloaded again.
  • The Installer now displays much more accurate progress for each package.
  • We also added additional UI improvements during installation. We now accurately show how many packages you have to install and how many are left.
  • We'll always try to install the recommended released versions of Xamarin, .NET Core and Mono. Sometimes this will mean downgrading your versions to get you into a supported state.
  • We fixed issues with authorization. The password prompt should only shown once per every 5 minutes during installation.
  • We now hide the ‘location’ button if there is no actions to do.

Bug Fixes

Installation

We fixed the following top issues in the Installer:

  • Bug fixes for Catalina.
  • Fixed percentage increment bug resulted by number separator configuration when used with localized languages
  • Fix to display correct size when VSFMac is the only item to install.

Web and Azure

We fixed the following top issues with .NET Core and ASP.NET Core support and tooling:

  • .NET Core SDK 3.0.100 still appears in the updater after installing updates.
  • Incorrect command is suggested for trusting development certificate.
  • JavaScript File Type template is not under Add > New File > Web.
  • Visual Studio for Mac saves new JSON file as UTF-8 BOM.
  • When removing a file that has a child, one file is not removed.
  • The Web app URL reverts back to 5001 after the IDE is restarted.
  • Environment variables are not getting picked up when a user chooses to "Start without Debugging".
  • "Include in Project" context menu appears when it shouldn't.

We fixed the following top issues with with Azure:

Shell and Tools

We fixed the following top issues with the IDE:

Source Code Editing

We fixed the following top issues with editing source code:

Version Control

We fixed the following top issues with Version Control:

  • The IDE hangs in version control when opening a Storyboard in Xcode Interface Builder.
  • Visual Studio 2019 for Mac freezes when switching branch.
  • Renaming files under Git version control make IntelliSense disappear.
  • Version control tabs do not appear when opening solutions with previously open C# files.
  • The App bundle contains files it shouldn't when using Git.
  • The IDE crashes when publishing to GitHub.
  • Popping a git stash that has conflicts gives invalid warning and no further logs.
  • Cloning project with sub-modules stops with error 'Version control operation filed'.
  • Visual Studio crashes/exists when attempting to commit to Git.
  • The "Changes" tab is not refreshed.
  • Diff/View commands are broken in Solution Pad.
  • "Create Patch" command is broken.
  • Very slow revision loading in Diff/Comparison view.
  • VS for Mac freezes on git revert.
  • Version control document views are missing with the new editor.
  • Checking out a repository with a username and password would not preserve the username.
  • It is not possible to use Subversion over svn+ssh without a port.
  • Switching branches doesn't respect target framework changes.
  • SIGABRT when attempting to fetch a branch from Azure DevOps Git.

Testing Tools

We fixed the following issue with testing:

  • It is not possible to execute single tests defined in MonoDevelop.VersionControl.Git.Test from the IDE, because it fails to load the LibGit2Sharp assembly.

Project System

We fixed the following issues with Projects:

NuGet

We fixed the following issue with NuGet:


Known Issues

  • XAML Hot Reload for Xamarin.Forms is not functional on iOS devices, and displays an Info Bar after a couple minutes asking you to report an issue. This will be fixed in an upcoming release.
  • Shared Code option is missing when creating a Xamarin Multi-platform app.

Important

Visual Studio 2019 for Mac can be installed on macOS Catalina Beta, but may not work as expected with a preview OS. Please use Report a Problem to inform us of any issues you discover while using Visual Studio for Mac and Catalina.


Feedback

We would love to hear from you! You can report a problem through the Report a Problem option in Visual Studio for Mac IDE. You can track your feedback, including suggestions, in the Developer Community portal.


Top of Page