Как отключить пользовательские ошибки при развертывании только в режиме отладки в режиме отладки

Я работаю над сайтом, где мы используем Web.Debug.config с преобразованием XSLT, чтобы отключить пользовательские ошибки.

<customErrors mode="Off" xdt:Transform="Replace"/>`

Однако это не считается принятым во внимание при развертывании на azure.

Из

Azure web.config для среды

Я вижу, что azure использует файлы .cscfg, и что то, что я пытаюсь выполнить, вероятно, будет включать эти файлы? Каков самый простой способ отключить пользовательские ошибки при развертывании на лазурный, но только при отладке?

Ответ 1

Однако это, похоже, не принимается во внимание при развертывании на azure

Вероятно, потому что ваш обычный web.config не содержит элемента (сегодня у меня была такая же проблема). Конечно, ваше преобразование "replace" может применяться только в том случае, если на самом деле есть что-то, что нужно применить.

Каков самый простой способ отключить пользовательские ошибки при развертывании на azure, но только при отладке?

Там debug web.config и релиз web.config(вы можете развернуть web.config). Примените производственные преобразования в релизном и отладочные преобразования в отладочном.

Ответ 2

Дело в том, что все, что вы добавите в web.release.config или web.debug.config, не будет включено в окончательный файл web.config, который будет частью вашего пакета приложений (CSPKG), развернутого в Windows Azure. Если вы хотите, чтобы определенные параметры web.config были частью вашего приложения Windows Azure, вам нужно будет указать явное определение в web.config.

Чтобы отключить пользовательские ошибки, вы должны явно добавить в web.config следующее:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  ......
  <system.web>
   <customErrors mode="Off" xdt:Transform="Replace"/>
  </system.web>
 .....
</configuration>

Ответ 3

В Visual Studio 2015 для "Службы приложений" откройте "Проводник сервера" и перейдите к Azure → Служба сервиса → {имя группы ресурсов} → {имя службы приложения} → Файлы → Web.config.

На этом этапе вы можете напрямую отредактировать файл Web.Config и сохранить его - публикация не требуется.

Ответ 4

Вам нужна эта строка в web.config

<customErrors mode="Off"/>

И в web.config.release

<system.web>
     <customErrors mode="Off" xdt:Transform="Replace"/> 
    <compilation xdt:Transform="RemoveAttributes(debug)" />    
  </system.web>

При использовании 1 нажмите публикацию, она заменит файл web.config.release на web.config Итак, если у web.config нет тега customErrors, он будет игнорировать