해결된 질문
작성
·
525
답변 2
0
저는 얼마전 강의 시작해서 멘붕오다가...(MVC를 처음 접하는 상황이라서..) 다른 기초 강의를 찾다가 그만두고 결재를 했으니 일단은 따라 해보자 했답니다.
이 강의는 MVC 처음 하시는 분들에게 무척 난감해 할 수 있을것 같습니다.
제가 답글 쓴 이유는 저는 이 강의를 VisualStudio 2022에서 따라고 하고 있답니다. 그러다 보니 Startup.cs 파일이 없어 프로젝트에서 클래스 추가하고(Startup.cs) Startup.cs 필요한 내용을 정리후 Program.cs 파일을 수정했습니다. Program.cs 구동될때 Startup.cs가 작동하도록 수정하는 내용 입니다. 아래의 소스 내용을 첨부합니다. 참고가 될지 모르겠네요.
[Startup.cs 소스]
using NetCore.Services.Interfaces;
using NetCore.Services.Svcs;
using NetCore.Data.ViewModels;
namespace NetCore.Web
{
public class Startup
{
public IConfiguration configRoot
{
get;
}
public Startup(IConfiguration configuration)
{
configRoot = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IUser, UserService>();
services.AddRazorPages();
}
public void Configure(WebApplication app, IWebHostEnvironment env)
{
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
}
}
}
[Program.cs 소스]
using NetCore.Web;
var builder = WebApplication.CreateBuilder(args);
var startup = new Startup(builder.Configuration);
startup.ConfigureServices(builder.Services);
var app = builder.Build();
startup.Configure(app, builder.Environment);
위와같이 정의하시면 될듯합니다.
0
carlos님, 반갑습니다.
일단, 첫번째 질문하신 내용 간단히 답변드리겠습니다.
.net 6 버전부터 Startup.cs 파일이 프로젝트내에 존재하지 않습니다.
Program.cs 내용 또한 바뀌었구요.
제 강의에서 현재 .net 5 버전까지 업데이트할 수 있도록 동영상으로 안내하고 있고, .net 6 버전은 동영상없이 리소스에만 추가해 놓은 상태입니다.
"프로젝트 리소스에 .NET 6 web project 추가 안내" 섹션을 참고하시기 바랍니다.프
두번째 질문하신 버전 차이로 인한 흐름 끊김 문제에 대해 말씀드리면,
.net core 버전이 3.1 => 5까지 업그레이드되면서 많은 부분이 바뀌어 보너스 섹션들을 통해 영상을 추가하였습니다.
이 외에 6버전에서 또 변경되었는데 전체적인 구조가 바뀐 것은 (거의) 없고, 첫번째 질문하신 내용 관련해서 Program 클래스에서 Startup 클래스없이 동작하도록 바뀌었습니다. 그래서 6버전용 리소스를 추가해 놓았던 것입니다.
제 마음 같아서는 carlos님 생각대로 강의 내용전체를 6버전을 넘어 최신버전 7을 기반으로 리뉴얼 하고 싶습니다만, 현재 리뉴얼을 진행하기는 어려운 점이 있어서 양해 부탁드립니다. (차기 강의를 계획 및 준비하고 있어서 입니다.)
리소스에 3.1, 5, 6 각각의 버전에 따른 웹 프로젝트가 포함되어 있으니 참고 바랍니다.