2016-04-03 4 views
11

Я опубликовал свой сайт с использованием опции визуальной студии для публикации на моем хосте.Тип провайдера CodeDom "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider ..." не удалось найти.

мой хост использует asp.net 4.5.1 framework.

он хорошо работает на местном уровне, но после того, как я опубликовал его, он дал эту ошибку.

enter image description here

локальная папка мой Visual Studio решение содержит папку с именем пакета и содержит некоторые файлы он связан с ошибками?

Это мой конфигурационный файл (остальные строки опущены для ясности):

enter image description here

Спасибо.

+0

Спасибо за верх, пожалуйста, направляйте меня –

+1

Пожалуйста, не используйте изображение, но введите строку компиляторов. – Aristos

+0

Вы работаете с полным доверием в среде размещения? Кроме того, чтобы получить полное подробное сообщение об ошибке, используйте браузер на сервере, на котором размещен веб-сайт, и перейдите на страницу http: // localhost/[Site] '. Вы получите полное сообщение об ошибке. В противном случае измените свой web.config, как описано на странице ошибки – Basic

ответ

1

У меня была такая же ошибка как в WCF, так и в веб-приложении. Я только что удалил <system.codedom> тег и его содержание, и он решил.

+1

Это не устраняет проблему, она понижает компилятор. – EKW

5

Версия сборки в папке bin должна соответствовать версии, указанной в разделе compilers файла web.config.

Эта ошибка возникает, когда я обновляю папку bin сервера. Поскольку пакет Microsoft.CodeDom.Providers.DotNetCompilerPlatform был обновлен, мне также нужно было обновить раздел compilers от web.config.

Это можно сделать, просто обновив атрибут версии в приведенном ниже примере или заменив весь раздел на версию разработчика.

<compilers> 
    <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> 
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" /> 
</compilers> 

Не требует перезапуска IIS.

Смежные вопросы