2015-01-08 3 views
3

У меня есть три файла конфигурации для моего проекта MVC 5. web.config, web.debug.config и web.release.config.Отключение отладки компиляции MVC для версий выпуска

Я хочу отключить compilation debug при запуске в выпуске, но, похоже, не может заставить его работать.

В web.config

<compilation debug="true"/> 

В web.release.config

<compilation debug="false"/> 

При запуске в режиме выпуска HttpContext.Current.IsDebuggingEnabled по-прежнему равна true (по-прежнему прикреплен к отладчик, хотя).

Что я делаю неправильно? Я попытался взять тег из главного web.config и поместить его в web.debug.config но отладчик просто жаловался и попросил меня положить его обратно в web.config

Update

Мой web.release.config выглядит это

<system.webServer> 
    <httpErrors errorMode="Custom"> 
    <remove statusCode="404" /> 
    <error statusCode="404" path="/error/notfound" responseMode="ExecuteURL" /> 
    <remove statusCode="403" /> 
    <error statusCode="403" path="/error/forbidden" responseMode="ExecuteURL" /> 
</httpErrors> 
</system.webServer> 
<system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    <!--<compilation debug="false"/>--> 
</system.web> 
+0

Это может звучать глупо, но, пожалуйста, попробуйте переустановить IIS. – Landeeyo

+0

Предполагаю, вы имеете в виду перезапуск и не сбрасываете? –

+0

Да, перезапустите, но есть команда iisreset, поэтому я использовал условие перезагрузки ... – Landeeyo

ответ

7

В вашем web.config:

<compilation debug="true" ... 

В вашем web.release.config:

<compilation xdt:Transform="RemoveAttributes(debug)" /> 

Это установит transform на атрибут на compilation тег debug для remov ИНГ его. Вам не нужно устанавливать какое-либо преобразование в web.debug.config, потому что вы не хотите изменять конфигурацию в режиме отладки.

После этого опубликуйте (развернуть) свой проект. Чтобы протестировать его, опубликуйте свой проект в папке, а затем откройте там web.config. Вы увидите, что web.config был изменен. Config-transforms - это функция развертывания.

Больше информации здесь: http://www.asp.net/mvc/overview/deployment/visual-studio-web-deployment/web-config-transformations

+0

У меня на самом деле было это, прежде чем я понял, что он не работает. Я попытался снова, но безрезультатно. Любая причина, по которой это может не сработать? – Chris

+0

@Chris: Ваш 'web.release.config' должен содержать только те вещи, которые вы хотите преобразовать. Во всяком случае, есть ли у вас другие вещи? Я также добавил ссылку, которая показывает ее на примере. – Abhitalks

+0

См. Мое обновление, я показал, что в этом конфиге – Chris

Смежные вопросы