ASP.NET 웹 프로젝트의 폴더 및 파일 구조
ASP.NET 웹 프로젝트의 폴더 및 파일 구조는 프로젝트 유형에 따라 약간 다를 수 있지만, ASP.NET Core와 ASP.NET Framework 모두 공통적인 핵심 구조를 가지고 있습니다. 각 프레임워크에 대한 폴더 및 파일 구조를 정리해보겠습니다.
ASP.NET Core 웹 프로젝트 구조
ASP.NET Core는 크로스 플랫폼을 지원하는 새로운 프레임워크로, 프로젝트 구조는 다음과 같습니다.
wwwroot
정적 파일 (HTML, CSS, 이미지, JavaScript 등)을 포함하는 폴더입니다. 모든 정적 파일은 이 폴더에 있어야 클라이언트에 제공됩니다.Controllers
MVC 패턴에서 URL 라우팅을 처리하며 클라이언트 요청에 응답하는 컨트롤러가 위치한 폴더입니다.Models
데이터 모델 클래스를 저장하는 곳으로, 비즈니스 로직이나 데이터베이스 엔티티 등을 포함한 모델을 관리합니다.Views
뷰 파일을 포함하는 폴더로, 각 컨트롤러별로 서브 폴더를 가지고 관련된 뷰 파일들이 위치합니다._ViewStart.cshtml
및_ViewImports.cshtml
같은 공통 뷰 설정 파일도 있습니다.Pages
Razor Pages를 사용하는 경우에만 존재하는 폴더로, 페이지별 CSHTML과 C# 코드를 함께 포함합니다.Properties
launchSettings.json
과 같은 프로젝트 설정 파일을 포함하며, 디버깅 환경 및 프로파일 설정이 이곳에 저장됩니다.appsettings.json
애플리케이션 구성 정보를 저장하는 파일로, 환경별 설정이 가능하며, 데이터베이스 연결 문자열 또는 API 키 등의 민감한 정보도 관리됩니다.Program.cs 및 Startup.cs
프로젝트의 시작점으로,Program.cs
는 메인 진입점이며Startup.cs
는 서비스 등록 및 미들웨어 구성을 담당합니다.
ASP.NET Framework 웹 프로젝트 구조
ASP.NET Framework 프로젝트 구조는 ASP.NET Core와 유사하지만 다음과 같은 차이점이 있습니다.
App_Data
데이터베이스 파일 등 응용 프로그램 데이터를 저장하는 데 사용되는 폴더입니다.App_Start
Web API 구성 및 라우트 설정과 같은 초기화 설정 파일이 위치하는 폴더입니다.bin
어셈블리(DLL) 파일을 포함하며, 빌드 시 프로젝트의 참조 DLL들이 이곳에 복사됩니다.Content
CSS 파일 및 기타 정적 콘텐츠를 저장합니다.Controllers
MVC 컨트롤러가 위치하는 폴더입니다.Models
데이터 모델을 관리하는 폴더입니다.Views
각 컨트롤러에 따른 뷰 파일이 폴더별로 위치하며, 공유 뷰를 위한_Layout.cshtml
이나Shared
폴더가 포함됩니다.Global.asax
응용 프로그램의 전역적인 설정을 담당하는 파일로, 응용 프로그램 시작 및 종료 이벤트를 처리합니다.Web.config
응용 프로그램의 설정 정보를 담는 XML 파일입니다. 데이터베이스 연결 문자열, 인증 및 인가 설정 등이 포함됩니다.
이러한 구조는 프로젝트의 크기와 복잡성에 따라 더 세분화될 수 있지만, 프로젝트를 시작하는 기본적인 구조로 유용하게 활용될 수 있습니다.