Hi, I'm going through a Udemy ASP.NET Core 3 MVC course, and I'm trying to add an Area to my project. I understand that on PC, this has been moved to 'New Scaffolded Item', where the Area option shows up, but on the Mac, this option is 'New Scaffolding', and 'Area' isn't an option. Welcome to the First Steps on Mac guide on getting started with Progress ® Telerik ® UI for ASP.NET Core with Visual Studio for Mac! The guide creates a use-case scenario which demonstrates how to start working with the suite and implements the Kendo UI DatePicker for ASP.NET Core in your project by using the Telerik UI DatePicker HtmlHelper or TagHelper. Developing ASP.NET Core Applications on a Mac With Visual Studio Code ¶. Start Visual Studio Code; Tap File Open and navigate to your Empty ASP.NET Core app; From a Terminal / bash prompt, run dotnet restore to restore the project’s dependencies.
Free downloads for building and running.NET apps on Linux, macOS, and Windows. Runtimes, SDKs, and developer packs for.NET Framework,.NET Core, and ASP.NET. .NET 5.0 downloads for Linux, macOS, and Windows.NET is a free, cross-platform, open-source developer platform for building many different types of applications.
By Daniel Roth, Steve Smith and Rick Anderson
This article will show you how to write your first ASP.NET Core application on a Mac.
Sections:
To setup your development machine download and install .NET Core and Visual Studio Code with the C# extension.
Follow the instruction in Building Projects with Yeoman to create an ASP.NET Core project.
- Start Visual Studio Code
- Tap File > Open and navigate to your Empty ASP.NET Core app
From a Terminal / bash prompt, run dotnetrestore
to restore the project’s dependencies. Alternately, you can enter commandshiftp
in Visual Studio Code and then type dot
as shown:
You can run commands directly from within Visual Studio Code, including dotnetrestore
and any tools referenced in the project.json file, as well as custom tasks defined in .vscode/tasks.json.
This empty project template simply displays “Hello World!”. Open Startup.cs in Visual Studio Code to see how this is configured:
If this is your first time using Visual Studio Code (or just Code for short), note that it provides a very streamlined, fast, clean interface for quickly working with files, while still providing tooling to make writing code extremely productive.
In the left navigation bar, there are four icons, representing four viewlets:
- Explore
- Search
- Git
- Debug
The Explore viewlet allows you to quickly navigate within the folder system, as well as easily see the files you are currently working with. It displays a badge to indicate whether any files have unsaved changes, and new folders and files can easily be created (without having to open a separate dialog window). You can easily Save All from a menu option that appears on mouse over, as well.
The Search viewlet allows you to quickly search within the folder structure, searching filenames as well as contents.
Code will integrate with Git if it is installed on your system. You can easily initialize a new repository, make commits, and push changes from the Git viewlet.
The Debug viewlet supports interactive debugging of applications.
Finally, Code’s editor has a ton of great features. You’ll notice unused using statements are underlined and can be removed automatically by using command.
when the lightbulb icon appears. Classes and methods also display how many references there are in the project to them. If you’re coming from Visual Studio, Code includes many of the same keyboard shortcuts, such as commandkc
to comment a block of code, and commandku
to uncomment.
The sample is configured to use Kestrel for the web server. You can see it configured in the project.json file, where it is specified as a dependency.
- Run
dotnetrun
command to launch the app - Navigate to
localhost:5000
:
- To stop the web server enter
Ctrl+C
.
Once you’ve developed your application, you can easily use the Git integration built into Visual Studio Code to push updates to production, hosted on Microsoft Azure.
Initialize Git¶
Initialize Git in the folder you’re working in. Tap on the Git viewlet and click the InitializeGitrepository
button.
Add a commit message and tap enter or tap the checkmark icon to commit the staged files.
Git is tracking changes, so if you make an update to a file, the Git viewlet will display the files that have changed since your last commit.
Initialize Azure Website¶
You can deploy to Azure Web Apps directly using Git.
- Create a new Web App in Azure. If you don’t have an Azure account, you can create a free trial.
- Configure the Web App in Azure to support continuous deployment using Git.
Record the Git URL for the Web App from the Azure portal:
Visual Studio 2019 For Mac - IDE For MacOS
In a Terminal window, add a remote named
azure
with the Git URL you noted previously.gitremoteaddazurehttps://ardalis-git@firstaspnetcoremac.scm.azurewebsites.net:443/firstaspnetcoremac.git
Push to master.
gitpushazuremaster
to deploy.
Browse to the newly deployed web app. You should see
Helloworld!
Disclaimer: I am not on the .NET Core Team. I used the tools available publicly and have no insights into the future of .NET Core. It looks very bright though. :)
The working source code for this project can be found here.
Intro
A complete list of post in this series is included below :
In this post, we’re going to look at running the app from the command line and then the Mac.
Running the App in the Windows Command Prompt
While you can obviously run the app inside of Visual Studio with the F5 command. You should also know that you can run the app inside of the console. Before we begin, make sure you have the app found here. After opening the app or downloading it, open the folder containing the project in the command prompt.
You can run your application here by simply typing :
You will the following output :
The exact same result from running the console app in Visual Studio.
Using dotnet publish to get the app ready for Mac
Go ahead and type dotnet publish
on the command prompt and then type tree
to look at your directory listing as shown below :
You should see the publish directory. Navigate into it and list out the files in the directory :
Take note that the dlls listed below are related to the package reference that we added in the last blog post.
Asp.net Mvc For Mac
- Newtonsoft.Json.dll
- System.Runtime.Serialization.Primitives.dll
This only leaves the NetCoreConsoleApp.dll which is the Console application that we can run on a Mac (or any other platform that supports .NET Core).
Running the app on a Mac
Finally! It is about time you might say. I agree. Before you can run the app on your Mac, you’re going to need to head back over to the .NET Core downloads page and install OpenSSL and then the SDK (or runtime) if you remember the difference from the first post.
To run this on your Mac, you’ll need to copy the ‘publish’ folder to your Mac. Then open Terminal and you can run the app by just typing :
This is awesome! Now you have an app that run on another platform and you used your existing .NET skillset to create it. I’m LOVING .NET Core!
Wrap-up
Asp.net For Mac Download
OK, I’m going to take a break and I’ll be back next week. As always, thanks for reading and smash one of those share buttons to give this post some love if you found it helpful. Also, feel free to leave a comment below or follow me on twitter for daily links and tips.