ASP.NET Core 3.0 이전 완벽 한 피 갱 안내
.NET Core 3.0 은.NET Conf 총회 에서 공식 발 표 될 예정 이 며,오늘 까지 9 개의 미리 보기 버 전 을 발 표 했 으 며,변경 도 적지 않 았 다.지속 적 인 관심 이 없 었 기 때문에 오늘 은 앞의 오픈 소스 의 동태WebApi 프로젝트를.NET Core 3.0 으로 옮 기 는 데 많은 시간 이 걸 렸 다.제 가 이전 과정 에서 만난 구 덩이 를 공유 해 드 리 겠 습 니 다.이전 버 전 은 현재 Release 최신 버 전.NET Core 2.2 에서.NET Core 3.0 Preview 9 로 변경 되 었 습 니 다.
2.ASP.NET 코어 프로젝트 이전
공식 이전 문서:ASP.NET Core 2.2 에서 3.0 으로 이전이 공식 문 서 는 비교적 상세 하지만 일부 내용 은 쓰 여 있 지 않 습 니 다.
1.프레임 워 크 버 전 변경
TargetFramework 버 전 변경
netcoreapp3.0
2.Nuget 패키지 제거
모든 Nuget 패키지 제거
나머지 Nuget 패 키 지 를.NET Core 3.0 버 전 지원 으로 업데이트
3.프로그램 변경
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
4.Startup 변경
Configure Services 방법:
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddControllers()
(WebApi)/services.AddControllersWithViews();
(MVC)로 변경Configure 방법:
1.이 방법 에서 Host 환경 정보 인터페이스 유형 을 얻 고
IHostingEnvironment
IWebHostEnvironment
로 변경 합 니 다.2.app.UseMVc 변경:
WebApi:
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
MVC:
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
JSon 구성 요소 에 대하 여ASP.NET Core 3.0 은 기본적으로 제거
Newtonsoft.Json
되 었 고 마이크로소프트 가 스스로 실현 한System.Text.Json
을 사 용 했 습 니 다.Newtonsoft.JSon 으로 바 꾸 려 면 다음 과 같은 두 단계 가 있 습 니 다.1.Nuget 패키지 설치:
Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson
2.등록
services.AddControllers().AddNewtonsoftJson();
3.라 이브 러 리(Class Library Net Standard 2.0)프로젝트 이전ASP.NET Core 3.0 의 패키지 메커니즘 변경 으로 인해 현재 nuget 설치Microsoft.AspNetCore.All또는Microsoft.AspNetCore.App3.0 버 전,그리고 그들 이 포함 하 는 대부분의 Nuget 패키지 도 nuget 을 통 해 설치 할 수 없습니다(3.0 에 대응 하 는 버 전 없 음).2.2 버 전의 nuget 패 키 지 를 인용 했다 면 실행 에 오류 가 발생 할 수 있 습 니 다.원 팩 이.NET Core SDK 에 포 함 된 것 은 우리 의 라 이브 러 리 프로젝트 가 AspNetCore 관련 구성 요소 에 의존 하면 프로젝트 목표 프레임 워 크 를.NET Standard 로 계속 설정 할 수 없고.NET Core 3.0 으로 만 설정 할 수 있다 는 것 을 의미한다.ASP.NET Core 3.0 only run on.NET Core 때문이다.
패키지 메커니즘 변경 원인:https://github.com/aspnet/AspNetCore/issues/3608
1.프레임 워 크 버 전 변경
2.Nuget 패키지 업데이트
Microsoft.AspNetCore 를 제거 합 니 다.*.NET Core 3.0 버 전이 없습니다.예 를 들 어:
FrameworkReference(PackageReference 가 아 닌)참조 추가:
끝나다
주제:ASP.NET Core 는 2.2 까지.NET Framework 와.NET Core 에서 동시에 실행 할 수 있 지만 ASP.NET Core 3.0 부터.NET Core 만 지원 합 니 다.
관련 자료:A first look at changes coming in ASP.NET Core 3.0
위 에서 말 한 변경 은 마이크로소프트 정부 에서 모두 이 유 를 설명 하고 있다.사실은 더 좋아 지기 위해 변경 하고 예전 의 단점 을 보완 하기 위해 서 이다.단지 이렇게 오랫동안 사용 한 코어 에 있어 서 는 좀 괴 롭 지만 받 아들 일 수 있다.더 좋 은.NET 코 어 를 위해 서 이다.
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다. 페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTas...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.