[c#] 오류 / langversion에 대한 잘못된 옵션 ‘6’; ISO-1, ISO-2, 3, 4, 5 또는 기본값이어야합니다.

.NET 4.6을 대상으로하고 C # 언어 버전을 6으로 변경하여 최신 C # 버전을 활용하려고합니다.

그러나 컴파일하는 동안 다음 오류가 발생했습니다.

오류 / langversion에 대한 잘못된 옵션 ‘6’; ISO-1, ISO-2, 3, 4, 5 또는 기본값이어야합니다.

/langversion:6Web.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. 저장.

https://youtu.be/IP8feQeWqkk


답변

프로젝트가 VS2015로 완전히 업그레이드되지 않은 경우 이러한 행동을 만났습니다. VS2013에서 2015의 솔루션을 열면이 오류가 발생합니다.


답변

NuGet 패키지 관리자 콘솔을 열고 다음 명령을 실행합니다.

업데이트 패키지 Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r


답변

ASP.NET 이상한 컴파일 오류에 대한 답변을 참조하십시오 ! .

C # 언어를 5로 다운 그레이드하면 문제가 가려 질뿐입니다. 누군가가 C # 6 기능을 사용하자마자 웹 사이트 / 프로젝트가 중단되고 다시 수정하는 데 시간을 할애하게됩니다. 링크에서 해결책을 시도하십시오.


답변

Visual Studio 2019에서 처음으로 응용 프로그램을로드 할 때 비슷한 문제가 발생했습니다. “Microsoft.CodeDom.Providers.DotNetCompilerPlatform”너겟을 최신 버전으로 업데이트하면 트릭이 발생했습니다.