我得到這個異常:如何解決「compilerVersion」IIS錯誤?
System.Configuration.ConfigurationErrorsException:在供應商選擇中 「compilerVersion」屬性的值必須是「4.0版」或 後,如果要編譯支持版本4.0或更高版本的.NET 框架。
我應該怎麼做才能解決這個問題?
我得到這個異常:如何解決「compilerVersion」IIS錯誤?
System.Configuration.ConfigurationErrorsException:在供應商選擇中 「compilerVersion」屬性的值必須是「4.0版」或 後,如果要編譯支持版本4.0或更高版本的.NET 框架。
我應該怎麼做才能解決這個問題?
這一部分,我也有類似的問題,不得不告訴ASP.NET在配置上採用了3.5編譯器通過修改Web.config
如下。
我從我的代碼中複製並粘貼了以下內容。您必須將更改值=「v3.5」設置爲值=「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網站項目中工作。
你可能會從蒐集額外的觀點:
刪除的web.config
<compilation debug="true" strict="true" explicit="true" targetFramework="4.0" />
我沒有看到你,你在我填完礦之前回答了你自己的問題:) – 2010-07-23 00:31:47
是的,但你的是更完整的。 – 2010-07-24 05:28:20
還需要在4.5中刪除
這應該有助於
<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>
對我來說,這是默認網站下的子站點,雖然默認網站設置設定在ASP.NET 4.0中,web.config文件中設置2.0和3.5。更改web.config文件以使用4.0修復它。 使用此參考:ASP.NET 4 Breaking Changes
在我的情況下,這有很大的幫助,謝謝! – 2016-01-11 07:18:52
在我的情況下,我試圖運行使用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>
這一個幫助我的情況。我們在服務器上的混合.Net版本沒有任何問題,直到供應商MSI運行。 – 2012-02-13 19:26:56
不錯......這個問題解決了我的問題(ASP.NET 4網站是ASP.NET 2.0的子網站) – 2012-06-05 12:56:00
我們不小心複製粘貼的Web.config到C:\的Inetpub \ wwwroot的。這個意外複製粘貼的Web.config具有不匹配的配置,並導致我們的compilerVersion錯誤。刪除Web.config解決了我們的問題。
感謝您的回答。工作很好。 – Tarik 2011-01-11 19:09:00
4igi答案有C#4.0的答案。 – pauloya 2011-10-13 09:32:34
這種方式適用於C#和VB.NET。謝謝! – Corgalore 2013-01-08 18:00:56