Опубликовать сайт без рослина


Я пытаюсь создать веб-приложение с помощью Visual Studio 2015 и .NET 4.5.1. Когда я публикую веб-сайт, visual studio создает папку с именем roslyn.

Я знаю, что он используется для компиляции кода на лету, но, к сожалению, мой хостинг-провайдер не позволяет мне выполнить компилятор на своем сервере.

как опубликовать сайт без roslyn как и предыдущая версия Visual Studio?

изменить: Я получил эту ошибку при попытке доступа к моему сайту.

кажется, IIS пытается выполнить roslyncsc.exe но у моей учетной записи пользователя нет разрешения на это. В предыдущей версии Visual Studio эта ошибка не отображается.

6 69

6 ответов:

Я только что столкнулся с той же проблемой. При создании нового веб-проекта в проект автоматически добавляются два пакета nuget. Если вы удалите их, ваша проблема должна быть решена. Имена пакетов: " Microsoft.граф CodeDOM.Услуги поставщиков.DotNetCompilerPlatform "и"Microsoft. Net. Compilers".

У меня была та же проблема. Следовал шагам от здесь. В основном:

  1. удалить пакет

    Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform <Your Web API project name>
    
  2. в настройках профиля публикации снимите флажок "Разрешить обновление предварительно скомпилированного сайта". Вы можете найти это в разделе Настройки > предварительная компиляция во время публикации > настроить

есть открываем ошибки в репозитории roslyn об этой проблеме.

в моем случае все, что мне нужно было сделать, это понизить dll Microsoft.CodeDom.Providers.DotNetCompilerPlatform версии 1.0.6 to 1.0.5.

после бесчисленных усилий....и согласно этому сайт. Я считаю, что вы можете использовать /p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false в MSBuild для преобразования web.config, это также включает компилятор roslyn в сборке. Результат такой же, как и при публикации в Visual Studio в файловой системе

после поиска того же выданного мне лица, я просто пришел сюда. Я прочитал выше ответ, который является правильным.

Я даю ответ, потому что здесь - это хорошая статья, чтобы объяснить :

  1. почему код публикации имеет этот exe, а также среду разработки ?
  2. в чем преимущество и как удалить?

это также очень хорошая статья, об истории этого exe

У меня была такая же проблема в сентябре 2016 года, когда я взял на себя существующий ASP.NET программа. Я обнаружил, что существует несколько версий двух пакетов компилятора, упомянутых Кемалем, установленных в разных проектах решения.

Так что во-первых я обновил, чтобы получить их же. VS не говорит вам, что обновления доступны в этом сценарии (или, может быть, я пропустил их ?)

затем мне пришлось перезапустить VS2015, чтобы пакеты правильно очистились.