Ошибка компилятора Roslyn в проекте веб-сайта.CodeDom не может быть расположен - PullRequest
0 голосов
/ 10 октября 2018

Я использую Visual Studio 2015 и нацеливаю свое приложение на .NET Framework 4.6.1.Я создаю проект веб-сайта, и в одном решении есть несколько библиотек классов.

Я могу использовать функции C # 6 в библиотеках классов (например, оператор распространения null ?., но не в проекте WebSite), он выдаст ошибку

Функция 'Нулевой оператор распространения' недоступна в c # 5. Пожалуйста, используйте языковую версию 6 или выше.

Почему это такЯ могу использовать эту функцию в библиотеке классов, но не на веб-сайте?Затем я попытался добавить поддержку C # 6 через меню «Веб-сайт», которое загрузит CodeDom и компилятор в каталог packages и свяжет его в файле Web.config.

enter image description here

Я могу скомпилировать, и он отлично работает на моем локальном хосте, но при развертывании на моем тестовом сервере я получаю следующую ошибку:

Сообщение об ошибке анализатора: поставщик CodeDomтип "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35" не найден.

как 1023 * 1024решить это?

1 Ответ

0 голосов
/ 10 октября 2018

Попробуйте установить или переустановить Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform - reinstall
...