» [ASP.NET Core] ASP.NET Core 프로젝트 생성 방법

[ASP.NET Core] ASP.NET Core 프로젝트 생성 방법

by DUBUKIMCH

ASP.NET Core는 고성능, 크로스 플랫폼 웹 애플리케이션 개발을 위한 프레임워크입니다. 이 가이드는 ASP.NET Core를 사용하는 방법과 간단한 예제를 제공합니다.


1. ASP.NET Core 프로젝트 생성

1.1 .NET CLI 사용

터미널에서 다음 명령어를 입력해 새 ASP.NET Core 프로젝트를 생성합니다

dotnet new webapp -n MyAspNetCoreApp
cd MyAspNetCoreApp

1.2 Visual Studio 사용

  1. Visual Studio를 열고 새 프로젝트를 생성합니다.
  2. “ASP.NET Core Web App” 템플릿을 선택합니다.
  3. 프로젝트 이름, 경로, .NET 버전을 설정하고 생성합니다.

2. 프로젝트 구조

생성된 프로젝트에는 다음과 같은 주요 파일 및 폴더가 포함됩니다:

  • Program.cs: 애플리케이션의 진입점.
  • Pages: Razor Pages로 구성된 폴더.
  • wwwroot: 정적 파일(CSS, JavaScript 등) 저장.
  • appsettings.json: 구성 파일.
  • _Layout.cshtml: 공통 레이아웃 정의.

3. ASP.NET Core 기본 동작

3.1 Program.cs

ASP.NET Core는 Program.cs에서 웹 애플리케이션을 설정하고 실행합니다. 기본 코드는 다음과 같습니다

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello, ASP.NET Core!");

app.Run();

  • CreateBuilder: 애플리케이션의 설정을 구성합니다.
  • MapGet: URL 경로와 해당 요청의 응답을 정의합니다.
  • Run: 애플리케이션 실행.

4. 컨트롤러와 뷰 (MVC)

4.1 MVC 템플릿 사용

dotnet new mvc 명령어로 MVC 기반 프로젝트를 생성할 수 있습니다

dotnet new mvc -n MyMvcApp
cd MyMvcApp

4.2 컨트롤러 생성

Controllers 폴더에 새 컨트롤러를 추가합니다

using Microsoft.AspNetCore.Mvc;

namespace MyMvcApp.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public IActionResult About()
        {
            ViewData["Message"] = "ASP.NET Core MVC 예제입니다.";
            return View();
        }
    }
}

  • IActionResult: HTTP 응답을 나타냅니다.
  • View(): 뷰 페이지를 반환합니다.


4.3 뷰 생성

  • Views/Home 폴더를 생성합니다.
  • Index.cshtml 파일을 추가합니다
@{
    ViewData["Title"] = "Home Page";
}

<h1>Welcome to ASP.NET Core MVC</h1>

  • About.cshtml 파일을 추가합니다
@{
    ViewData["Title"] = "About Page";
}

<h1>About</h1>
<p>@ViewData["Message"]</p>

4.4 라우팅 설정

Program.cs에서 라우팅을 설정합니다

app.UseRouting();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

app.UseRouting();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=About}/{id?}");
});

Leave a Comment

error: Content is protected !!