DEV Community

Cover image for Setting Up a .NET Project on macOS
Rusydy
Rusydy

Posted on

20

Setting Up a .NET Project on macOS

If you're a macOS user looking to set up a .NET project, follow these steps to get started with creating a web API project using .NET Core. This guide will walk you through the process, from ensuring you have .NET Core installed to creating a model and generating a controller with CRUD (Create, Read, Update, Delete) actions.

Step 1: Verify .NET Core Installation

Before you begin, make sure you have .NET Core installed on your macOS. Open your terminal and run the following command to check if it's already installed:



dotnet --version


Enter fullscreen mode Exit fullscreen mode

If you don't have .NET Core installed, you can follow the steps in this guide to install it on your macOS Setup .Net on Mac.

Step 2: Create a New Web API Project

Let's start by creating a new web API project. Open your terminal and run the following command to create a new project named "RestApi":



dotnet new webapi -n RestApi


Enter fullscreen mode Exit fullscreen mode

This command sets up a basic web API project structure for you to build upon.

Step 3: Install Required Dependencies

Code Generation

For code generation, we need to install the dotnet-aspnet-codegenerator tool. Run the following command:



dotnet tool install -g dotnet-aspnet-codegenerator


Enter fullscreen mode Exit fullscreen mode

Next, add the Microsoft Visual Studio Web Code Generation Design package:



dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design


Enter fullscreen mode Exit fullscreen mode

Entity Framework

If you plan to use Entity Framework, you'll need to add the required packages. Run the following commands to add Entity Framework and the SQL Server provider:



dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet add package Microsoft.EntityFrameworkCore.SqlServer


Enter fullscreen mode Exit fullscreen mode

These packages are essential for database operations in your .NET project.

Step 4: Create a Model

In your project's Models folder, create a new class named Recipe.cs. You can use the following code as a starting point:



using System;

namespace RestApi.Models
{
    public class Recipe
    {
        public int Id { get; set; }
        public string Name { get; set; }
        // Add other properties as needed
    }
}


Enter fullscreen mode Exit fullscreen mode

This class represents a basic model for your application. You can add additional properties as required for your specific project.

Step 5: Generate a Controller

Now, you can generate a controller with CRUD actions and views using the code generator. Run the following command:



dotnet aspnet-codegenerator controller -name RecipesController -async -api -m Recipe -dc ApplicationDbContext


Enter fullscreen mode Exit fullscreen mode

This command generates a controller named RecipesController with all the necessary CRUD actions and views. You can customize this controller to suit your project's requirements.

That's it! You've successfully set up a .NET web API project on your macOS machine, created a model, and generated a controller to handle your application's functionality. You can now start building your application by adding business logic and further customizing your project as needed.

Sentry blog image

How to reduce TTFB

In the past few years in the web dev world, we’ve seen a significant push towards rendering our websites on the server. Doing so is better for SEO and performs better on low-powered devices, but one thing we had to sacrifice is TTFB.

In this article, we’ll see how we can identify what makes our TTFB high so we can fix it.

Read more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay