Как исправить ошибку IIS "compilerVersion"? - PullRequest
54 голосов
/ 23 июля 2010

Я получаю это исключение:

System.Configuration.ConfigurationErrorsException: значение атрибута 'compilerVersion' в параметрах поставщика должно быть v4.0 или более поздней, если вы компилируетедля версии 4.0 или новее .NET Framework.

Что мне сделать, чтобы решить эту проблему?

Ответы [ 7 ]

63 голосов
/ 23 июля 2010

У меня была похожая проблема, и я должен был указать 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>

В моем случае вместо 3.5 использовался компилятор 2.0.Я работал в проекте IIS 7, веб-сайте ASP.NET.

Вы можете получить дополнительную информацию из:

29 голосов
/ 14 февраля 2011

это должно помочь

<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>
27 голосов
/ 01 декабря 2011

В моем случае я пытался запустить дочернее приложение, используя 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>
9 голосов
/ 23 июля 2010

Удалить этот раздел из web.config

<compilation debug="true" strict="true" explicit="true"  targetFramework="4.0" />
1 голос
/ 13 октября 2017

Мы случайно вставили Web.config в C: \ inetpub \ wwwroot .Этот случайно вставленный в копию Web.config имел несоответствующую конфигурацию и вызвал для нас ошибку compilerVersion.Удаление Web.config решило проблему для нас.

1 голос
/ 30 августа 2011

В моем случае это был дочерний сайт на веб-сайте по умолчанию, и хотя настройки веб-сайта по умолчанию были установлены на ASP.NET 4.0, файл web.config был установлен на 2.0 и 3.5. Изменение файла web.config для использования 4.0 исправило это. Используйте это для справки: ASP.NET 4 критических изменений

0 голосов
/ 15 мая 2019

В моем случае я использую старый веб-сайт (V 2.0), необходимо добавить новое приложение, разработанное в MVC4.0. С той же самой ошибкой, с которой я столкнулся, и после многих перестановок и комбинаций данного решения я обернул весь web.comfig родительского приложения в следующий тег

<location path="." inheritInChildApplications="false">
...... web config tags here........
</location> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...