VS Code vibrancy on macOS. I'm posting this here because more people need to know about it, there is a pull request over the GitHub repo that allows vibrancy support for VS Code. Tip: We have instructions for Mac users in our Setup topic that enable you to start VS Code from within a terminal. We add the VS Code executable to the PATH environment variable on Windows and Linux automatically during installation. Sometimes you will want to open or create a file. If the specified file does not exist, VS Code will create. Open the Debug view by pressing Ctrl+Shift+D (Cmd+Shift+D on Mac). Click the Configure gear icon in the toolbar. VSCode prompts you to Select Environment. Choose PowerShell. When you do this, VSCode creates a directory and a file '.vscode launch.json' in the root of your workspace folder. This is where your debug configuration is stored.
-->This document provides the steps and workflow to create a .NET Core solution for macOS. Learn how to create projects, unit tests, use the debugging tools, and incorporate third-party libraries via NuGet.
Note
This article uses Visual Studio Code on macOS.
Prerequisites
Install the .NET Core SDK. The .NET Core SDK includes the latest release of the .NET Core framework and runtime.
Install Visual Studio Code. During the course of this article, you also install Visual Studio Code extensions that improve the .NET Core development experience.
Install the Visual Studio Code C# extension by opening Visual Studio Code and pressing F1 to open the Visual Studio Code palette. Type ext install to see the list of extensions. Select the C# extension. Restart Visual Studio Code to activate the extension. For more information, see the Visual Studio Code C# Extension documentation.
Get started
In this tutorial, you create three projects: a library project, tests for that library project, and a console application that makes use of the library. You can view or download the source for this topic at the dotnet/samples repository on GitHub. For download instructions, see Samples and Tutorials.
Start Visual Studio Code. Press Ctrl+` (the backquote or backtick character) or select View > Integrated Terminal from the menu to open an embedded terminal in Visual Studio Code. You can still open an external shell with the Explorer Open in Command Prompt command (Open in Terminal on Mac or Linux) if you prefer to work outside of Visual Studio Code.
Begin by creating a solution file, which serves as a container for one or more .NET Core projects. In the terminal, run the
dotnet new
command to create a new solution golden.sln inside a new folder named golden:Navigate to the new golden folder and execute the following command to create a library project, which produces two files,library.csproj and Class1.cs, in the library folder:
Execute the
dotnet sln
command to add the newly created library.csproj project to the solution:The library.csproj file contains the following information:
Our library methods serialize and deserialize objects in JSON format. To support JSON serialization and deserialization, add a reference to the
Newtonsoft.Json
NuGet package. The dotnet add
command adds new items to a project. To add a reference to a NuGet package, use the dotnet add package
command and specify the name of the package:This adds
Newtonsoft.Json
and its dependencies to the library project. Alternatively, manually edit the library.csproj file and add the following node:Execute
dotnet restore
, (see note) which restores dependencies and creates an obj folder inside library with three files in it, including a project.assets.json file:In the library folder, rename the file Class1.cs to Thing.cs. Replace the code with the following:
The
Thing
class contains one public method, Get
, which returns the sum of two numbers but does so by converting the sum into a string and then deserializing it into an integer. This makes use of a number of modern C# features, such as using static
directives, expression-bodied members, and string interpolation.Build the library with the
dotnet build
command. This produces a library.dll file under golden/library/bin/Debug/netstandard1.4:Create the test project
Build a test project for the library. From the golden folder, create a new test project:
Add the test project to the solution:
Add a project reference the library you created in the previous section so that the compiler can find and use the library project. Use the
dotnet add reference
command:Alternatively, manually edit the test-library.csproj file and add the following node:
Now that the dependencies have been properly configured, create the tests for your library. Open UnitTest1.cs and replace its contents with the following code:
Note that you assert the value 42 is not equal to 19+23 (or 42) when you first create the unit test (
Assert.NotEqual
), which will fail. An important step in building unit tests is to create the test to fail once first to confirm its logic.From the golden folder, execute the following commands:
These commands will recursively find all projects to restore dependencies, build them, and activate the xUnit test runner to run the tests. The single test fails, as you expect.
Edit the UnitTest1.cs file and change the assertion from
Assert.NotEqual
to Assert.Equal
. Execute the following command from the golden folder to re-run the test, which passes this time: Sims 4 for mac.Create the console app
The console app you create over the following steps takes a dependency on the library project you created earlier and calls its library method when it runs. Using this pattern of development, you see how to create reusable libraries for multiple projects.
Create a new console application from the golden folder:
Add the console app project to the solution:
Create the dependency on the library by running the
dotnet add reference
command:Vscode Editor For Mac
Run
dotnet restore
(see note) to restore the dependencies of the three projects in the solution. Open Program.cs and replace the contents of the Main
method with the following line:Add two
using
directives to the top of the Program.cs file:Execute the following
dotnet run
command to run the executable, where the -p
option to dotnet run
specifies the project for the main application. The app produces the string 'The answer is 42'.Debug the application
Set a breakpoint at the
WriteLine
statement in the Main
method. Do this by either pressing the F9 key when the cursor is over the WriteLine
line or by clicking the mouse in the left margin on the line where you want to set the breakpoint. A red circle will appear in the margin next to the line of code. When the breakpoint is reached, code execution will stop before the breakpoint line is executed.Open the debugger tab by selecting the Debug icon in the Visual Studio Code toolbar, selecting View > Debug from the menu bar, or using the keyboard shortcut CTRL+SHIFT+D:
Press the Play button to start the application under the debugger. The app begins execution and runs to the breakpoint, where it stops. Step into the
Get
method and make sure that you have passed in the correct arguments. Confirm that the answer is 42.Note
Starting with .NET Core 2.0 SDK, you don't have to run
-->dotnet restore
because it's run implicitly by all commands that require a restore to occur, such as dotnet new
, dotnet build
and dotnet run
.It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Azure DevOps Services or in build systems that need to explicitly control the time at which the restore occurs.To start developing native, cross-platform .NET apps on macOS, install Visual Studio 2019 for Mac following the steps below.
Requirements
- A Mac with macOS High Sierra 10.12 or above.
To build Xamarin apps for iOS or macOS, you'll also need:
- Xcode 10.0 or above. The latest stable version is usually recommended.
- An Apple ID. If you don't have an Apple ID already you can create a new one at https://appleid.apple.com. It's necessary to have an Apple ID for installing and signing into Xcode.
Installation instructions
- Download the installer from the Visual Studio for Mac download page.
- Once the download is complete, click the VisualStudioforMacInstaller.dmg to mount the installer, then run it by double-clicking the arrow logo:
- You may be presented with a warning about the application being downloaded from the Internet. Click Open.
- Wait while the installer checks your system:
- An alert will appear asking you to acknowledge the privacy and license terms. Follow the links to read them, then press Continue if you agree:
- The list of available workloads is displayed. Select the components you wish to use:If you do not wish to install all platforms, use the guide below to help you decide which platforms to install:
Type of App | Target | Selection | Notes |
---|---|---|---|
Apps Using Xamarin | Xamarin.Forms | Select Android and iOS platforms | You will need to install Xcode |
iOS only | Select iOS platform | You will need to install Xcode | |
Android only | Select Android platform | Note that you should also select the relevant dependencies | |
Mac only | Select macOS (Cocoa) platform | You will need to install Xcode | |
.NET Core applications | Select .NET Core platform. | ||
ASP.NET Core Web Applications | Select .NET Core platform. | ||
Azure Functions | Select .NET Core platform. | ||
Cross-platform Unity Game Development | No additional platforms need to be installed beyond Visual Studio for Mac. | Refer to the Unity setup guide for more information on installing the Unity extension. |
- After you have made your selections, press the Install button.
- The installer will display progress as it downloads and installs Visual Studio for Mac and the selected workloads. You will be prompted to enter your password to grant the privileges necessary for installation.:
- Once installed, Visual Studio for Mac will prompt you to personalize your installation by signing in and selecting the key bindings that you'd like to use:
If you have network trouble while installing in a corporate environment, review the installing behind a firewall or proxy instructions.
Learn more about the changes in the release notes.
Note
If you chose not to install a platform or tool during the original installation (by unselecting it in step #6), you must run the installer again if you wish to add the components later.
Install Visual Studio for Mac behind a firewall or proxy server
To install Visual Studio for Mac behind a firewall, certain endpoints must be made accessible in order to allow downloads of the required tools and updates for your software.
Configure your network to allow access to the following locations:
Next steps
Installing Visual Studio for Mac allows you to start writing code for your apps. The following guides are provided to guide you through the next steps of writing and deploying your projects.
iOS
Vscode Mac Download
- Device Provisioning(To run your application on device).
Android
.NET Core apps, ASP.NET Core web apps, Unity game development
For other Workloads, refer to the Workloads page.