IT Share you

"compilerVersion"IIS 오류를 어떻게 수정합니까?

shareyou 2021. 1. 10. 19:22
반응형

"compilerVersion"IIS 오류를 어떻게 수정합니까?


이 예외가 발생합니다.

System.Configuration.ConfigurationErrorsException : .NET Framework 버전 4.0 이상용으로 컴파일하는 경우 공급자 옵션의 'compilerVersion'특성 값은 'v4.0'이상이어야합니다.

이 문제를 해결하려면 어떻게해야합니까?


나는 비슷한 문제가 있었고 다음과 같이 수정하여 3.5 컴파일러를 사용하도록 구성에서 ASP.NET에 지시해야했습니다 Web.config.

내 코드에서 다음을 복사하여 붙여 넣었습니다. value = "v3.5"를 value = "v4.0" 으로 변경 해야합니다 . 컴파일러 형식 문자열은 변경 될 수 있습니다.

<configuration>

  <!--  ... other configuraiton stuff ... -->

  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
        <providerOption name="CompilerVersion" value="v3.5"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
        <providerOption name="CompilerVersion" value="v3.5"/>
        <providerOption name="OptionInfer" value="true"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
    </compilers>
  </system.codedom>

</configuration>

제 경우에는 2.0 컴파일러가 3.5 대신 사용되었습니다. IIS 7, ASP.NET 웹 사이트 프로젝트에서 일하고있었습니다.

다음에서 추가 통찰력을 얻을 수 있습니다.


이것은 도움이 될 것입니다

<configuration>
<!--  -->
<system.codedom>
 <compilers>
  <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
    type="Microsoft.CSharp.CSharpCodeProvider,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   <providerOption name="CompilerVersion" value="v4.0"/>
   <providerOption name="WarnAsError" value="false"/>
  </compiler>
 </compilers>
</system.codedom>
<!--  -->
</configuration>

제 경우에는 4.0을 사용하여 자식 응용 프로그램을 실행하려고했지만 부모 응용 프로그램은 2.0을 사용해야했습니다. <location path="." inheritInChildApplications="false">태그로 상위 web.config의 컴파일러 정보를 래핑하여 수정했습니다.

부모 Web.config :

<location path="." inheritInChildApplications="false">
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
        <providerOption name="CompilerVersion" value="v3.5" />
        <providerOption name="WarnAsError" value="false" />
      </compiler>
    </compilers>
  </system.codedom>

web.config에서이 섹션 제거

<compilation debug="true" strict="true" explicit="true"  targetFramework="4.0" />

필자의 경우 기본 웹 사이트 아래의 자식 사이트였으며 기본 웹 사이트 설정이 ASP.NET 4.0으로 설정되었지만 web.config 파일은 2.0 및 3.5로 설정되었습니다. 4.0을 사용하도록 web.config 파일을 변경하여 수정했습니다. 참조 용으로 사용 : ASP.NET 4 주요 변경 사항


We had accidentally copy-pasted Web.config into C:\inetpub\wwwroot. This accidentally copy-pasted Web.config had mismatching configuration and caused the compilerVersion error for us. Deleting the Web.config solved the problem for us.


In my case, I am using an old Webform website (V 2.0), need to append a new application which is developed in MVC4.0. This same error I was facing and after many permutations and combination of the given solution, I wrapped the whole web.comfig of the parent application in the following tag

<location path="." inheritInChildApplications="false">
...... web config tags here........
</location> 

ReferenceURL : https://stackoverflow.com/questions/3314469/how-do-i-fix-the-compilerversion-iis-error

반응형