Подтвердить что ты не робот

Развертывание приложения ASP.NET MVC4 для компилятора GoDaddy

Увидели несколько сообщений о развертывании приложений MVC в GoDaddy. Ни один из них, похоже, не рассматривает проблему, которую мы имеем. Мы следовали рекомендациям по проверке версий среды выполнения, режиму работы IIS, публикации и скопировать локальный на true на сборках, поэтому все работает на GoDaddy.Com.

Проблема заключается в том, что при попытке посетить сайт мы получаем исключение групповой политики, поскольку среда выполнения ASP.NET пытается вызвать компилятор С#.

[Win32Exception (0x80004005): This program is blocked by group policy. For more information, contact your system administrator]

[ExternalException (0x80004005): Cannot execute a program. The command being executed was "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe".........

Мы прошли настройку публикации и решили перекомпилировать сайт. Это не решило проблему. Посмотрите на сайт и не развернуты файлы CS. Файл Global.asax ссылается на файл codebehind. Поскольку мы предварительно скомпилировали сайт, мы попытались удалить файл Global.asax, и это также не устраняет проблему.

Любые мысли были бы замечательными.

4b9b3361

Ответ 1

Я боролся с той же проблемой в течение нескольких месяцев. И, наконец, решил. В plesk on godaddy я изменил настройки ASP.Net. Сначала изменено значение CAS-trustlevel на Full. Затем я изменил в Web.config моего проекта следующее:

  • Добавьте уровень доверия в систему system.web
  • Удалить компиляторы в system.codecom
 <system.web>
    compilation debug="true" targetFramework="4.5.2"/>
    <httpRuntime targetFramework="4.5.2"/>
    <trust level="Full"/>             <!-- Just add this to the webconfig -->
 </system.web>

 <system.codedom>
              <!-- All is removed between the 2 tags-->
 </system.codedom>

и это решило мою проблему.

Ответ 2

Вам нужно удалить информацию о компиляции из веб-конфигурации, и она будет работать.

В дополнение к предварительной компиляции (установите флажок в настройках публикации) добавьте следующее в свой Web.Release.config:

<system.web>
  <trust level="Full" xdt:Transform="Insert" />
</system.web>
<system.codedom xdt:Transform="Remove" /> <!-- No compiling on server, GoDaddy blocks it. -->

ОБНОВЛЕНИЕ (1/27/2017): Появляется (по крайней мере, на моей учетной записи), что удаление system.codedom больше не требуется.

Ответ 3

У меня была такая же проблема на хостинге GoDaddy.

Чтобы исправить это, выполните следующие действия.

Шаг 1. Выберите "Прекомпилировать во время публикации" в настройках веб-развертывания.

Шаг 2: <trust level="Full" /> в <system.web> в Web.config

Ответ 4

Я удалил пакет Roslyn nuget, как описано в приведенной ниже ссылке, но это рабочий стол.

https://social.msdn.microsoft.com/Forums/en-US/442b100a-2b88-4ac4-b655-0c1345791f15/roslyn-cscexe-web-api-2-on-hosting-server?forum=msbuild

Эта проблема возникает при использовании чистого веб-проекта mvc 5 из шаблона visual studio 2015. Я связался с поддержкой godaddy, посмотрю, что они делают.

Ответ 5

Отлично. У меня тоже такая же проблема. Однако мой поставщик хостинга - arvixe.

  • Добавить > уровень доверия = "Полный" / " > " в разделе > system.web > в Web.config
  • комментарий > компиляторы > раздел > codedom > в Web.config

Проблема исправлена ​​!!!

Ответ 6

Ошибка компилятора csc.exe после публикации

комментарий ниже на 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>-->