Visual Studio Icon Visual Studio 2017 for Mac version 7.5 Release Notes


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


Note

If you are accessing this page from a non-English language version, and want to see the most up-to-date content, please visit this Release Notes page in English. You can change the language of this page by clicking the icon in the page footer and selecting your desired language.


Use Visual Studio 2017 for Mac to build apps for mobile, web, and the cloud with Xamarin and .NET Core, as well as games with Unity.

Download the Current Release of Visual Studio 2017 for Mac

Download Visual Studio 2017 for Mac

To learn more about Visual Studio 2017 for Mac, see Mac System Requirements and Mac Platform Targeting and Compatibility.

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

Feedback

We’d love to hear from you! You can report a problem via the Report a Problem option the Visual Studio for Mac IDE and track your feedback in the Developer Community portal. For suggestions, let us know through UserVoice.

Known Issues

Please refer to the Known Issues section.

Release History


Release Highlights


Release Notes Icon Visual Studio 2017 for Mac version 7.5 (7.5.0.1254)

released May 7, 2018

Top Issues Fixed in this Release

Release in Detail

Installation and Setup

  • Updated to use native networking APIs which should improve download success rate and speed, and work behind a proxy.
  • Improved workflow for fixing Android home permissions.
  • Improved accessibility with higher contrast and better VoiceOver navigation.
  • Fixed an issue where download speed and progress did not reflect accurate status.
  • Fixed an issue where Android components are not displayed, even if components are installed.
  • Fixed an issue where the Android SDK Location was missing in Preferences after installation.

Performance

We are continuing our push to improve performance and reliability in the IDE. This release focuses on improving IDE startup time, which has decreased by as much as 50% for some users.

We’re also fixing top issues and crashes as they come into the Developer Community site – please keep the feedback coming!

Performance fixes in this release include:

  • Enabled concurrent execution of analyzers across the board, allowing for faster diagnostic squiggles reporting.
  • Improved IDE startup timing by deferring shared template engine loading. This fixes issue #3492.
  • Statically link in libxammac-system.a, instead of using the dylib, improving startup performance.

Source Code Editor

We've continued our effort on improving the C# source editor. This includes the following:

Project System

  • Updated the templating engine to fix problems with @ characters in file names being incorrectly encoded on creating the project.
  • Support new lines in descriptions for templates using new templating engine.
  • Allow the following options to be configured from a project template wizard:
    • gitignore
    • Create project directory
  • Fixed an issue where saving a project with a file wildcard that had a Link that used MSBuild item metadata, as shown below, would result in the wildcard being removed and replaced with MSBuild items for each file included by the wildcard.
    <Compile Include="**\*.cs" Exclude="obj\**">
      <Link>%(RecursiveDir)%(Filename).cs</Link>
    </Compile>
    
  • Fixed an issue where project references would be not saved when adding or removing NuGet references. This would manifest as unpredictable build errors when creating new projects with NuGet packages in them, particularly Xamarin.Forms projects.
  • We've fixed issues when overriding globs.
  • We have fixed issues with projects that include files using wildcards will expand (and remove) wildcards upon save.
  • We've fixed an issue that caused the incorrect Android target framework version to be stored in project.assets.json. If an Android project uses PackageReferences and the target framework is changed to "Use Latest", it might result in the wrong MonoAndroid version being saved in the project.assets.json file. This could cause the build to fail after restoring with an error indicating the MonoAndroid version not being referenced.
  • We fixed an issue where opening a solution with NetStandard library throws System.ArgumentNullException in Ide.Log.
  • Fixed an issue when opening a solution, the last open files are not re-opened correctly.

NuGet

  • We fixed an issue that was stopping users from expanding SDK and NuGet dependencies folder and viewing child dependencies.
  • PackageReference projects will now restore after the target framework has changed.

Azure Functions

Azure Functions is now integrated into Visual Studio for Mac. We now have a New Function template dialog (Figure 1), along with support for the .NET Core Preview SDK for Azure Functions.

New Azure Function dialog displaying all available functions
(Figure 1) New Azure Function dialog

Function Templates enable you to quickly create new functions using the most common triggers and templates. When a new Azure Functions project is created, it includes an HttpTrigger function.

You can access these by creating a new Azure Functions project, right-clicking on your project, and choosing the Add > Add Function… menu.

.editorconfig

You can add an .editorconfig file to your project or codebase to enforce consistent coding styles for everyone that works in the codebase. These settings take precedence over global Visual Studio text editor settings. This means that you can tailor each codebase to use text editor settings that are specific to that project.

Web Development

Editor support for Razor, JavaScript, and TypeScript have been some of the top web developer requests we have heard. In this release, new editors are being introduced for each of these languages.

Razor

With official support for Razor, you now have syntax highlighting and IntelliSense while editing your C# in .cshtml files (Figure 2):

syntax highlighting and Intellisense in a .cshtml file
(Figure 2) Syntax highlighting and IntelliSense

JavaScript and TypeScript

The JavaScript editor has been rewritten, and now provides the core editor experience, including smarter colorization, IntelliSense, and brace completion.

Support has also been added for TypeScript editing (Figure 3); providing the same colorization, IntelliSense, and editor experience as JavaScript.

TypeScript colorization and IntelliSense
(Figure 3) TypeScript editing

.NET Core

Visual Studio for Mac version 7.5 will be the first official release supporting the .NET Core 2.1 Preview SDK. You can read all about the .NET Core 2.1 Preview release in the announcement blog post.

Some of the top improvements include: faster build performance, closing gaps in ASP.NET Core and EF Core, improving compatibility with .NET Framework, GDPR and Security, microservices, and Azure. We’ve also added support for C# 7.2 in this release.

  • Visual Studio for Mac no longer installs the dev-tools tool as it is now included with the .NET Core 2.1 SDK, starting with Preview 2.
  • We have fixed an issue that caused the browser not to open when running or debugging an ASP.NET Core 2.1 project if the .NET Core 2.1 Preview 2 SDK is installed. The ASP.NET Core 2.1 preview 2 project templates define multiple urls in the applicationUrl property in the launchSettings.json file. This was not handled by Visual Studio for Mac, preventing the browser from opening.
  • You are now prompted to install .NET Core 2.1 SDK if a .NET Core 2.1 project is opened and the SDK is not installed.
  • In Preferences, there is now a Projects > SDK Locations > .NET Core section (Figure 4) that can be used to configure the location of the .NET Core command line tool (dotnet). This can be used to point to a different non-standard install location of the .NET Core SDK.
New .NET Core Project Option
(Figure 4) New .NET Core Project Option
  • If the .NET Core SDK 2.1 preview is installed then project templates for .NET Core 2.1 will be available in the New Project dialog.
  • Improved project load performance when a .NET Core project contains thousands of files.
  • Fixed an issue where the TargetFramework short name format would change on save. Adding a file to a .NET Core project that targets Tizen 4.0 would result in the TargetFramework changing from tizen40 to tizen4.0. Now the original framework identifier name is not modified and if the version of the framework changes then the version uses the format that was originally used in the project.

ASP.NET Core

  • Running an ASP.NET Core 2.1 app that uses HTTPS will prompt you to install and trust the HTTPS development certificate so that HTTPS can be used when testing the site locally.
  • Fixed an issue when publishing of ASP.NET Core web apps where existing web apps were not being shown.
  • Fixed an issue where adding new .cshtml files from a template would add MSBuild items to the project file when the project file should not be modified.

Accessibility

  • The text editor margins have been made keyboard accessible.

    • Pressing Alt+Tab when the text editor is focused will move the focus to the margins, which can then be moved between using Tab, Shift + Tab, and the cursor keys.
    • Pressing Shift will activate the margin item that has focus.

    This fixes bug #53722.

Xamarin

Xamarin.Forms

This release brings numerous bug fixes to improve the .NET Standard developer experience.

  • Updated Xamarin.Forms to use shared .NET Core Templating Engine so that the templates are now consistent with Visual Studio (Windows).
  • The C# Xamarin.Forms project templates (Blank Forms App, Forms App, and Class Library) have been updated and now include a .NET Standard project instead of a Portable Class Library project.

We've fixed the following problems when using Xamarin.Forms in a .NET Standard project:

  • Changing the build action to None for a ContentPage XAML file would not add a None MSBuild item to the project.
  • Remove item not added to project when XAML or xaml.cs file excluded from project.
  • Fixed XAML and xaml.cs file not nested after removing Remove items from the project file in the text editor.
  • Moving/copying XAML files from existing PCL/shared project to .NET Standard project would cause the .NET Standard project to no longer compile.
  • Dependent xaml.cs files are now renamed on renaming the parent XAML file in Solution window.
  • Prevent renaming of xaml.cs file independent of the XAML file since different names are not supported by Xamarin.Forms in a .NET Standard project.

We've fixed the following problems with code completion of XAML files:

  • Fixed issues with emojis in XAML files break the editor and lead to a fatal error.
  • Inconsistent completion for end of self-closing tag.
  • Added code completion inside DataTemplate and ControlTemplate elements.
  • Issue when ending attribute with = which would add a duplicate ="" when ="" already existed.
  • Added StyleSheet and other XAML extensions to code completion list.
  • FontSize value code completion now offers named sizes.
  • Starting code completion in middle of markup extension didn't show correct list.

Xamarin.Android

Android Device Manager

We have further integrated the Xamarin Android Device Manager (Figure 5) into Visual Studio for Mac. This feature is still in Beta and is available as a replacement for the Android AVD Manager which was deprecated by Google in favor of a command line tool with the release of SDK Tools 26. The Device Manager allows you to quickly and easily create emulators and edit their configuration using the built-in property editor. It supports the latest emulators from Google and is able to download and install missing dependencies for you, so you don’t have to switch to the SDK manager to install new system images. Emulators by default use quick boot for faster startup times (Figure 6).

This release features significant UX and UI improvements over the web preview version, and we’ve addressed many user-reported bugs.

You can launch the Device Manager by choosing Tools > Device Manager.

New Android Device Manager
(Figure 5) New Android Device Manager
Emulator Details
(Figure 6) Emulator Details

Android SDK Manager

This release of the SDK manager (Figure 7) includes numerous improvements to reliability and performance, as well as some visual improvements. In addition, we’ve added support for a “Recommended” Microsoft manifest, which contained verified versions of components that work with Xamarin applications. Components will only be offered for download when we support them.

Android SDK Manager
(Figure 7) Android SDK Manager
  • We improved the experience with detecting HAXM on High Sierra. High Sierra and Android SDK Tools v27+ provide support for accelerated emulators without the need to have HAXM installed. Previously, Visual Studio for Mac would attempt to check for HAXM in these cases when it did not need to.
  • We've updated templates to use API 27 Xamarin.Android.Support.* packages.

We've fixed the following problems with Android:

For more information, see the Xamarin.Android release notes.

Xamarin.iOS

  • Includes support for Xcode 9.3.
  • Fixed an issue with Intellisense when completing an iOS event on UIButton.
  • Updated the Asset Catalog editor's "Import" context menu command to allow for importing multiple assets at the same time. This fixes bug #60781.
  • Update iOS automatic provisioning algorithm to support more entitlements:
    • Data Protection
    • Wallet
    • Associated Domains
    • Near-field communication Fixes some devcomm issues
  • Fixed a UI issue in which it appeared “Generic Simulator” was a valid deployment target when no were simulators available.
  • Fixed an issue with missing IntelliSense.
  • Fixed an issue when migrating from monotouch based projects to Classic and then to Unified projects.
  • We have removed the old "HeapShot" memory profiling option for iOS projects. Memory profiling is possible with the Xamarin Profiler.
Registrar Optimizations

This is a set of optimizations that makes the dynamic registrar removable by the linker (under most circumstances). This results in:

  • Smaller applications: The linked Xamarin.iOS.dll is now 30-50% smaller. Information needed only at build time, such as custom attributes, can be safely removed. With less code being referenced, the linker is able to remove more code than in previous versions.
  • Faster application startup: More registration work is being done at build time instead of at runtime. This removes, for example, the need for slow reflection on custom attributes to register types and methods.
  • Reduced memory usage: The avoided work also reduces the memory required for applications. Initial (startup) memory requirement is down 30% for a minimal application and 20% for extensions. This makes it easier to create some type of extensions where iOS imposes memory limits (e.g. 16MB for Today extensions).

For more information, see the Xamarin.iOS release notes.

Visual Designers

iOS Designer
  • Drag and Drop in Document Outline: It's now possible to drag items in the Document Outline to affect their z-order within their container, or to move them to a different container.
  • Document Breadcrumb Bar: A new breadcrumb bar in the top toolbar of the designer shows the selected view's parent hierarchy. Click on a parent view in the breadcrumb bar to select it on the design surface.
  • Xcode 9.3 Support:
    • Updated the iOS designer to work correctly with the latest version of Xcode 9.3.
    • Added missing Xcode 9 properties.
    • Fixed layoutGuides creation.
    • Added support for latest watchOS views and gestures, including:
      • SCNScene
      • SKScene
      • HomeKit Camera
      • Payment Button
      • Gestures
Android Designer
  • More reliable resource processing.
  • Improved behavior for multi-select.

Xamarin.Mac

For more information, see the Xamarin.Mac release notes.

Live Player

  • We fixed issues where Visual Studio for Mac would try to build the project before deploying to Live Player.
  • We fixed issues where the Live Player devices would not be visible if the simulator build configuration was selected.

Xamarin Profiler

  • Improved light allocations mode.
  • Improved snapshots comparison.
  • Performance improvements.

For more information, see the Profiler release notes.

App Center Test

The New Project dialog templates and categories now refer to App Center Test instead of Xamarin Test Cloud. The final configuration page of the New Project dialog shows App Center Test and the "Learn more" link opens the App Center Test website. Getting started pages now show App Center Test and the link goes to the App Center Test website.

Other fixes

Release Notes Icon Visual Studio 2017 for Mac 7.5.1 (7.5.1.22)


Known Issues

  • Already installed Android SDK is not being detected in the installer (if installed via Android Studio).
  • Code in indented @{} block jumps up a line when committed.
  • Razor TagHelpers in project aren’t refreshed on build.
  • CSS Class IntelliSense in _Layout.cshtml, but not in views.
  • In Razor, toggle comments does not work in HTML.
  • In Razor, indented <environment> tag content indentation bad.
  • Completion doesn’t commit if the caret is immediately followed by }.
  • Typing a <text> tag in a for loop is changed to textarea (aspnet/Razor/issues/2200).

Visual Studio 2017 for Mac Release Notes History

Visual Studio 2017 for Mac version 7.4 Release Notes

Visual Studio 2017 for Mac version 7.3 Release Notes

Visual Studio 2017 for Mac version 7.2 Release Notes

Visual Studio 2017 for Mac version 7.1 Release Notes

Visual Studio 2017 for Mac version 7.0 Release Notes


Top of Page