[英]How do I fix the “compilerVersion” IIS error?
我收到此异常:
System.Configuration.ConfigurationErrorsException:如果要针对.NET Framework 4.0版或更高版本进行编译,则提供程序选项中'compilerVersion'属性的值必须为'v4.0'或更高版本。
我应该怎么做才能解决这个问题?
我有一个类似的问题,必须通过修改Web.config
告诉ASP.NET在配置中使用3.5编译器,如下所示。
我已经从代码中复制并粘贴了以下内容。 您必须将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。 将父目录web.config中的编译器信息包装为<location path="." inheritInChildApplications="false">
<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" />
我们不小心将粘贴的Web.config复制到C:\\ inetpub \\ wwwroot 。 此意外复制粘贴的Web.config具有不匹配的配置,并为我们造成了editorVersion错误。 删除Web.config为我们解决了这个问题。
在我的情况下,它是默认网站下的子站点,尽管默认网站设置是在ASP.NET 4.0中设置的,但web.config文件却设置为2.0和3.5。 更改web.config文件以使用4.0修复了该问题。 使用此作为参考: ASP.NET 4重大更改
就我而言,我使用的是旧的Webform网站(V 2.0),需要附加一个在MVC4.0中开发的新应用程序。 我遇到了同样的错误,经过给定解决方案的许多排列和组合之后,我将父应用程序的整个web.comfig包装在以下标记中
<location path="." inheritInChildApplications="false">
...... web config tags here........
</location>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.