如何修复"compilerVersion"IIS错误?

Jon*_*len 54 asp.net iis .net-4.0

我得到了这个例外:

System.Configuration.ConfigurationErrorsException:如果要编译.NET Framework 4.0或更高版本,则提供程序选项中'compilerVersion'属性的值必须为'v4.0'或更高版本.

我该怎么做才能解决这个问题?

Joh*_*n K 64

我有一个类似的问题,不得不通过修改告诉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>
Run Code Online (Sandbox Code Playgroud)

就我而言,正在使用2.0编译器而不是3.5.我在IIS 7,ASP.NET网站项目中工作.

您可能会从以下方面收集更多信息:


小智 29

这应该有所帮助

<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>
Run Code Online (Sandbox Code Playgroud)


Jam*_*ruk 27

在我的情况下,我试图使用4.0运行子应用程序,但父应用程序仍然需要使用2.0.在父web.config中包装编译器信息,并使用<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>
Run Code Online (Sandbox Code Playgroud)


Jon*_*len 9

从web.config中删除此部分

<compilation debug="true" strict="true" explicit="true"  targetFramework="4.0" />
Run Code Online (Sandbox Code Playgroud)

  • 还需要在4.5中删除<httpRuntime targetFramework ="4.5"/>. (2认同)