Visual Studio Community 2019
Asp.Net Core 3.1
Core 버전으로 오면서 언제부턴가 디버깅 중에 View 페이지 수정한것이 웹페이지에서 새로고침을 해도 적용이 되지않는다. Core 버전이 올라가면서 생긴 현상인데 갑자기 되던것이 안되고 뷰마저 디버깅중에 수정이 안되면 여간 불편한게 아니다. Core에 오면서 바뀐듯 안바뀐듯 은근히 바뀐게 많은것 같다. 우선 이 부분의 해결책을 찾아보자.
애초에 너무 편하게 이용하던 기능이라 어디에 소속된 아니.. 그런 기능 조차인지도 인지 못했던 부분이다.
NuGet 패키지 설치하고 적용하면 끝인거다.
1. 우선 코어 버전의 프로젝트를 열고나서 도구 - NuGet 패키지 관리자 - 솔루션용 NuGet 패키지 관리를 실행해준다.
2. NuGet 창이 뜨면 찾아보기 탭에서 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 으로 검색하면 아래와 같은 패키지가 나온다. 적용을 원하는 프로젝트를 선택하고 설치해주면 되다. 여기서 주의할점은 종속성 여부를 꼭 확인하여 내 프로젝트 버전에서 충돌여부를 확인하고 그에 맞는 버전을 선택해주셔야 한다.
3. 설치에 들어가면 변경 내용 확인 창이 뜬다. 확인을 눌러준다.
4. 라이선스 승인. 확인을 눌러준다.
5. 마지막으로 Startup.cs 파일을 수정해야 한다. Startup.cs 파일에 가면 services.AddControllersWithViews(); 라는 부분이 있는데 이 부분에 .AddRazorRuntimeCompilation() 를 추가하여 services.AddControllersWithViews().AddRazorRuntimeCompilation(); 이렇게 변경해주어야 한다.
/Startup.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace Core_Test_001
{
public class Startup
{
// ... 중략 ...
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// 아래 주석처리되어있던 부분이 원래 구문입니다. 그 구문을 주석 아래처럼 .AddRazorRuntimeCompilation() 구문을 추가 해주면 됩니다.
// services.AddControllersWithViews();
services.AddControllersWithViews().AddRazorRuntimeCompilation();
}
// ... 중략 ...
}
}
끝났다. 이제 디버깅 모드 실행하고 뷰를 수정 후 웹페이지에서 새로고침 해보자. 잘 변경될것이다.
끝!!
'Asp.net (C#.net)' 카테고리의 다른 글
Asp.Net Core 3.1 개별 사용자 계정 (4. Identity Id 컬럼 nvarchar를 int로 변경) (0) | 2020.04.09 |
---|---|
Asp.Net Core 3.1 개별 사용자 계정 (3. 가입 시 이메일 인증 처리) (0) | 2020.04.07 |
Asp.Net Core 3.1 개별 사용자 계정 (2. 패스워드 정책 변경) (0) | 2020.04.06 |
Asp.Net Core 3.1 개별 사용자 계정 (1. 기능 재정의(복원)) (0) | 2020.03.26 |
asp.net(c#)에서 현재 페이지의 url을 가져 오는 방법 (0) | 2018.12.03 |