Я пытаюсь создать веб-приложение с помощью Visual Studio 2015 и .NET 4.5.1. Когда я публикую веб-сайт, Visual Studio создает папку с именем roslyn
.
Я знаю, что он используется для компиляции кода на лету, но, к сожалению, мой хостинг-провайдер не позволяет мне запускать компилятор на своем сервере.
Как опубликовать сайт без roslyn
похожий на предыдущую версию Visual Studio?
РЕДАКТИРОВАТЬ: я получил эту ошибку при попытке получить доступ к моему сайту.
Кажется, что IIS пытается выполнить, roslyn\csc.exe
но у моей учетной записи нет разрешения на это. В предыдущей версии Visual Studio эта ошибка не появляется.
Ответы:
Я только что столкнулся с той же проблемой. Когда вы создаете новый веб-проект, в ваш проект автоматически добавляются два пакета nuget. Если вы удалите их, ваша проблема должна быть решена. Имена пакетов: « Microsoft.CodeDom.Providers.DotNetCompilerPlatform » и « Microsoft.Net.Compilers ».
источник
Import
узлы,Target
узлы (EnsureNugetPackageBuildImports) иReference
узлы. Также удалите<system.codedom>
узел вашего web.config.Я была такая же проблема. Выполнил шаги отсюда . В принципе:
Удалить пакет
В настройках вашего профиля публикации снимите флажок «Разрешить обновлять предварительно скомпилированный сайт». Вы можете найти это в Настройки> Предварительная компиляция во время публикации> настроить
источник
После поиска такого же выданного мне лица, я просто приехал сюда. Я прочитал правильный ответ.
Я даю ответ, потому что вот хорошая статья для объяснения:
Это также очень хорошая статья об истории этого exe-файла.
источник
После бесчисленных усилий .... и согласно этому сайту . Я считаю, что вы можете использовать
/p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false
в MSBuild для преобразования web.config, это также включает компилятор roslyn в сборку. Результат такой же, как при публикации в Visual Studio в файловой системе.источник
В репозитории roslyn есть открытая ошибка, связанная с этой проблемой.
В моем случае все, что мне нужно было сделать, это понизить
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
версию dll1.0.6
до1.0.5
.источник
У меня была такая же проблема в сентябре 2016 года, когда я взял на себя существующую программу ASP.NET. Я обнаружил, что было несколько версий двух пакетов компилятора, упомянутых Кемалем, установленных в разных проектах решения.
Итак, сначала я обновился, чтобы получить их такими же. VS не сообщает вам, что в этом сценарии доступны обновления (или, может быть, я их пропустил?)
Затем мне пришлось перезапустить VS2015, чтобы пакеты очистились должным образом.
источник