C # 7.0은 .NET 4.5에서 작동합니까?
.NET Framework 4.5 프로젝트에서 새로운 C # 7.0 언어 기능을 사용할 수 있는지 확인하기 위해 Visual Studio 2017 RC에서 프로젝트를 만들었습니다. System.ValueTuple
NuGet 을 참조한 후 새 튜플이 제대로 작동 하는 것 같습니다 . 내가 생각해야 할 다른 것이 있습니까? 아니면 이것이 효과가 있습니까?
System.ValueTuple
NuGet 종속성을 확인한 후 .NET Framework 4.0이 지원되지 않는 것 같습니다. 이 경우입니까, 아니면이 런타임에서도 새 언어가 작동하도록하는 방법이 있습니까?
C # 7.0의 새로운 기능 을 살펴 보겠습니다 .
튜플 : 패키지 에 대한 버전이 프로필을. 즉, .Net 4.0에서 사용할 수 있습니다. (종속성이 .Net 4.5 만 나열하는 이유는 확실하지 않습니다.)
System.ValueTuple
portable-net40+sl4+win8+wp8
더 낮은 버전의 .Net에서 튜플을 사용하려는 경우 프로젝트에 대한 코드
ValueTuple
및 관련 유형 을 추가 하는 한 여전히 작동 합니다.out
변수, 패턴 일치, 로컬 함수, 더 많은 표현식 본문 멤버,throw
표현식, 숫자 리터럴 구문 개선 : 이러한 모든 기능은 구문 설탕 일 뿐이므로 프레임 워크의 새로운 기능이 필요하지 않습니다.ref
로컬 및 반환 :이 기능은 시작 이후 프레임 워크가 지원 한 내용을 C #으로 표시하므로 여기에서도 프레임 워크를 변경할 필요가 없습니다.일반화 된 비동기 반환 유형 :이 기능을 사용하려면 패키지
AsyncMethodBuilder
에 있는System.Threading.Tasks.Extensions
속성 이있는 유형이 필요 합니다 (이러한 유형 중 하나와 함께ValueTask<T>
). 이 패키지는 .Net 4.5에서만 지원되므로 .Net 4.0의 경우 관련 유형을 직접 컴파일해야합니다 . (await
.Net 4.0에서 사용 하려면Microsoft.Bcl.Async
. 도 필요 하지만 새로운 것은 아닙니다.)
요약하자면, 모든 C # 7.0은 필수 패키지를 설치 한 후 .Net 4.5에서 작동해야하며 대부분은 .Net 4.0에서도 작동해야합니다.
지금은 .NET 4.5에서 C # 7 컴파일 된 응용 프로그램을 실행하는 것이 좋지만 ASP.NET Dynamic Compilation을 사용하는 ASP.NET 응용 프로그램을 실행하는 것은 .NET 4.5에서 작동하지 않습니다. C # 7.0 컴파일러에는 .NET 4.6이 필요하기 때문입니다. 운영.
출처 : https://github.com/dotnet/roslyn/issues/17908 :
C # 7.0 컴파일러 (2.0 이상)를 실행하려면 .NET 4.6이 필요합니다.
https://www.nuget.org/packages/Microsoft.Net.Compilers/2.0.1(.NET 4.5 지원에 대한 정보)에 대한 정보는 오래된 것 같습니다.
참고 URL : https://stackoverflow.com/questions/42482520/does-c-sharp-7-0-work-for-net-4-5
'Nice programing' 카테고리의 다른 글
CSS 애니메이션 및 디스플레이 없음 (0) | 2020.11.27 |
---|---|
Ansible-로컬 환경 변수에 액세스 (0) | 2020.11.27 |
Windows에서 shutil.rmtree가 '액세스가 거부되었습니다'와 함께 실패합니다. (0) | 2020.11.27 |
실행 취소 / 다시 실행 구현 (0) | 2020.11.27 |
블러 이벤트를 수동으로 추적하지 않고 Backbone.js의 모델에 양식 입력을 바인딩 할 수 있습니까? (0) | 2020.11.27 |