programing

"compilerVersion" IIS 오류를 수정하려면 어떻게 해야 합니까?

closeapi 2023. 9. 13. 22:37
반응형

"compilerVersion" IIS 오류를 수정하려면 어떻게 해야 합니까?

예외가 있습니다.

시스템.구성.구성 오류예외:버전 4.0 이상을 컴파일하는 경우 공급자 옵션의 'compilerVersion' 특성 값은 'v4.0' 이상이어야 합니다.NET Framework.

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

저도 비슷한 문제가 있어서 ASP에 말해야 했습니다.NET은 3.5 컴파일러를 사용하기 위한 구성으로 다음과 같이 수정합니다.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>

저의 경우 3.5가 아닌 2.0 컴파일러를 사용하고 있었습니다.저는 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을 사용해야 했습니다.상위 web.config의 컴파일러 정보를 a로 래핑합니다.<location path="." inheritInChildApplications="false">태그 수정했습니다.

상위 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로 설정되었습니다.web.config 파일을 4.0을 사용하도록 변경하면 수정되었습니다.참조용으로 사용합니다. ASP.NET 4 혁신적인 변화

실수로 Web.config를 C:\inetpub\wwwroot에 복사 붙여넣었습니다.이 실수로 복사 붙여넣기된 Web.config의 구성이 일치하지 않아 컴파일러 버전 오류가 발생했습니다.Web.config를 삭제하면 문제가 해결되었습니다.

제 경우, 저는 오래된 웹폼 웹사이트(V 2.0)를 사용하고 있는데, MVC4.0에서 개발된 새로운 애플리케이션을 추가해야 합니다. 제가 직면했던 것과 동일한 오류가 발생했고, 주어진 솔루션의 많은 순열과 조합 후에, 저는 상위 애플리케이션의 전체 web.comfig를 다음 태그로 래핑했습니다.

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

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

반응형