Visual Studio for Mac 7.1 (Preview) Release Notes

This is a preview of the upcoming Visual Studio for Mac 7.1 release. These previews are unsupported builds to allow developers to test the new features, and to gather feedback and bug reports. Your help is very appreciated!

This preview introduces the following features:

  • Docker support for publishing Asp.Net Core web apps.
  • Xamarin Live Player
  • Xamarin Iot
  • Unity
  • iOS signing workflow updates.
  • Azure Functions

Docker Support

You can now publish Asp.Net Core apps to docker containers and run them from an App Service.

To enable docker support to your project, right click on your Asp.Net Core web app and Add > Add Docker Support.

To publish your web app to a docker container, use the Publish > Publish to Azure workflow introduced in Visual Studio for Mac (right click on the web app project in the Solution Pad).

During publishing the following resources are created on Azure

  • a container registry is created tha the Docker image is published to. Container registry requires Azure storage which will also be created.
  • an App Service is created that will download the image from the container registry and run it.

During publication:

  • a new docker image is created, tagged and pushed to the Azure container registry.
  • the App Service downloads the new image and runs it.

Note: * If you use an existing Resource Group, it must be in the same region as the App Service Plan you are creating. * If you are creating a new Resource Group, you must set the Container Registry and the App Service plan to be in the same region (e.g. both must be in “West US”). * The VM size of the App Service Plan must be S1 or larger.

Xamarin Live Player

Xamarin Live Player enables developers to continuously deploy and debug their app, straight to an iOS or Android device. For more information visit https://xamarin.com/live.

Xamarin Iot

Xamarin IoT allows developers to create native Linux applications using with the flexibility and elegance of a modern language (C#), the power of the .NET Base Class Library (BCL), and a first-class IDEs - Visual Studio, Visual Studio for Mac/Linux.

Unity

Unity is a game creation tool you can use to create high quality cross-platform games for all the major platforms: mobiles, desktops, consoles, AR and VR devices and even the web.

Starting with Unity 5.6.1, you can use Visual Studio for Mac to write and debug your Unity game. To get started, simply set Visual Studio to be Unity’s 5.6.1 script editor.

The Tools for Unity include:

  • Support for scripts written in C#.
  • Unity solution pad.
  • One click debugging of the Unity Editor.
  • IntelliSense for Unity messages.
  • Code coloration for Unity’s shaders.
  • Access to the Unity documentation.

iOS signing workflow updates

This release introduces the ability to create required signing artifacts for iOS and tvOS apps. With Visual Studio for Mac, it's possible to:

  • Create new signing identities and install them to the local Keychain
  • Create new Provisioning Profiles
  • Add a new signing identity to an existing profile
  • Provision new devices: register a device in the Apple Developer Portal and add them to a provisioning profile

To try out these new signing features right-click on your project and browse to Options > iOS Bundle Signing.

Using the Signing Identity section

For a signing must satisfy the following criteria:

  • Displayed on Apple Developer Portal in "Certificates" section (not revoked)
  • Issued for selected team/developer
  • Both certificate and private key should be installed in local Keychain
  • Certificate should not be expired

Use Create signing identity... option of the dropdown if no identities are available on your current machine.

Using the Provisioning Profile section

In order to be shown in the "Provisioning Profile" drop-down profile must satisfy the following criteria: * Not expired * Valid (include registered devices and valid certificates) * Match current distribution type (Debug or Release based on switches at the top) * Match bundle identifier. Wild card profiles with a matching pattern will be also displayed in this list.

Use "Create provisioning profile..." item of the dropdown if no profiles were found.

If you need to switch back to the previous version of signing controls, and set the provisioning profile and signing identity manually, set the team to None. New signing controls will be replaced with old ones. However, we strongly encourage you to try new functionality and provide us with feedback in case of any problems.

Limitations:

  • Provisioning profiles created in Visual Studio for Mac will not take into account entitlements selected in your projects (Entitlements.plist). This functionality will be added in future versions of the IDE.
  • Distribution provisioning profiles by default will target App Store. In House or Ad Hoc profiles should be created manually.

Azure Functions

Azure Functions is a solution for easily running small pieces of code, or "functions," in the cloud. Visual Studio for Mac allows you to code and locally debug your Azure Functions. To get started look for Azure Functions under Cloud in the New Project dialog.

Limitations

  • Deployment is not yet supported with this preview.

Changes since last preview

7.1.0.583

  • Fixed: Xamarin Live Player devices are not showing the device target menu after pairing a device.

7.1.0.1178 (June 15, 2017)

This release focuses on bug fixes and performance improvements. Features released in the preview that are not ready for release have been disabled and will be released in a future release. These are

  • Xamarin IOT
  • Xamarin Live Player
  • Docker
  • Azure Functions

You can continue to use these features from builds in the Alpha channel.

  • Android SDK Manager is now integrated within Visual Studio Preferences instead of being an external application.
  • Many performance improvements
    • Improved performance for opening, rendering, typing in a document
    • Optimized background work done while typing
    • Improved load time of opening a solution
    • Optimized loading the search bar results
    • Optimized a lot of source analysis rules
    • Optimized the low level code of the UI work
    • Fixed issues that would cause the memory usage of the IDE to grow over time
    • Optimized code completion, parameter hinting, semantic highlighting
    • Optimized folder expansion in the solution pad - noticeable with folders which contain hundreds of items
    • Optimized IDE startup time for both the first run and subsequent runs
    • In general, optimized CPU usage and memory traffic for using the IDE
  • Updated Identity service used to sign in to Microsoft accounts.

Known Issues

  • Signing in to your Microsoft account behind a proxy still fails.

7.1.0.1258 (June 29, 2017)

  • Improved: We have updated the identity service for use on systems behind a proxy. This will get the authentication details from the keychain or prompt for them. If you have been having issues signing in previously please try again and send us any feedback you have so that we continue to improve support for proxies.

  • Fixed: Constraint Priority displays 0 in Properties pad; cannot be set from Designer pop-up.

  • Fixed: Add the ability to specify the Platform Target for F# projects.
  • Fixed: Unused namespaces code issue doesn't handle FSharp.Core namespaces correctly.
  • Fixed: Many "New file" dialogs/strings are unlocalized.
  • Fixed: "New Solution" dialogs are unlocalized.
  • Fixed: Text is truncated in the "Configure your new Single View App" dialog.
  • Fixed: Nuget Wizard tooltip is showing xml character reference '''.
  • Fixed: Updater tooltip is empty when updates are paused.
  • Fixed: Update git repo on VSTS fails with "null username or password".
  • Fixed: Refactoring for the "nameof" scenario on first use is wrong.
  • Fixed: Welcome page keeps loosing my recent project when there are many recent projects.
  • Fixed: iOS Build error if container app has device-specific builds enabled, while the extension does not.
  • Fixed: Syntax Highlighting is not present with C#6 string interpolation for local variables.
  • Fixed: Unable to launch Xamarin Inspector.
  • Fixed: Getting Warnings while building the Native app (and iOS) in release mode.
  • Fixed: .NET Core Class Library targets .NET Standard instead of netcoreapp.
  • Fixed: IDE crashes when adding an image (.png or .jpg) to an iOS Storyboard.
  • Fixed: Adding all Google Play Services packages fails with "System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.v Parameter name: packageIdentity.Version".
  • Fixed: Quick Fix right-click submenu gets stuck up on "Loading...".

7.1.0.1281 (July 12, 2017)

  • Fixed: The file browser is not displaying SDK Location when clicking “…” file explorer option in Locations tab of the Android SDK Manager.
  • Fixed: F# .NET Core projects do not compile.
  • Fixed: The Android SDK Manager shows the wrong component status after an aborted installation.
  • Fixed: Android SDK Tools installed but not selected if update is available which can result in the component being uninstalled unintentionally.
  • Fixed: Default Android SDK location is not saved if no SDK component changes have been made.
  • Fixed: Logging in to MS Account prompts for credentials to access proxy server graph.windows.net.
  • Fixed: Deadlock in Find References and "Find Derived Types" for some F# projects.
  • Fixed: Null Reference Exception when trying to add a new iOS account in Visual Studio for Mac.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.