.NET 4.6을 대상으로하고 C # 언어 버전을 6으로 변경하여 최신 C # 버전을 활용하려고합니다.
그러나 컴파일하는 동안 다음 오류가 발생했습니다.
오류 / langversion에 대한 잘못된 옵션 ‘6’; ISO-1, ISO-2, 3, 4, 5 또는 기본값이어야합니다.
/langversion:6
Web.Config 설정을 5로 업데이트하면 작동합니다.
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701">
하지만 더 낮은 언어 버전에 의존하지 않고 어떻게 해결할 수 있습니까?
Visual Studio 2015 Community Edition을 사용하고 있으며 Visual Studio 2015에서 기본적으로 설치되지 않은 경우를 대비하여 .NET Framework 4.6도 수동으로 설치했습니다.
이 프로젝트는 Visual Studio 2015에서 만든 표준 ASP.NET MVC 템플릿 프로젝트입니다.
답변
Web.Config
프레임 워크 버전을 변경할 때 파일의 컴파일러 “유형”에주의하십시오 .
4.5 및 C # 5 용-
type="Microsoft.CSharp.CSharpCodeProvider...
4.6 및 C # 6 용-
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
답변
다음 NuGet 패키지 (설치된 패키지)를 업데이트하여 문제를 해결합니다.
- Microsoft.CodeDom.Providers.DotNetCompilerPlatform
- Microsoft.Net. 컴파일러
답변
1. 프로젝트로 이동하여 프로젝트 속성을 선택합니다.
2 빌드를 선택하고 고급 버튼을 클릭합니다.
3. Language Version default를 선택합니다.
4. 저장.
답변
프로젝트가 VS2015로 완전히 업그레이드되지 않은 경우 이러한 행동을 만났습니다. VS2013에서 2015의 솔루션을 열면이 오류가 발생합니다.
답변
NuGet 패키지 관리자 콘솔을 열고 다음 명령을 실행합니다.
업데이트 패키지 Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r
답변
ASP.NET 이상한 컴파일 오류에 대한 답변을 참조하십시오 ! .
C # 언어를 5로 다운 그레이드하면 문제가 가려 질뿐입니다. 누군가가 C # 6 기능을 사용하자마자 웹 사이트 / 프로젝트가 중단되고 다시 수정하는 데 시간을 할애하게됩니다. 링크에서 해결책을 시도하십시오.
답변
Visual Studio 2019에서 처음으로 응용 프로그램을로드 할 때 비슷한 문제가 발생했습니다. “Microsoft.CodeDom.Providers.DotNetCompilerPlatform”너겟을 최신 버전으로 업데이트하면 트릭이 발생했습니다.