представление asp.mvc вводит ОТЛАДКУ #IF в конфигурацию выпуска

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

17
задан sjors miltenburg 9 April 2010 в 12:05
поделиться

3 ответа

Важно понимать, что для вашего проекта есть две, совершенно разные компиляции. Первый - это то, что вы делаете в Visual Studio. Второй - тот, который ASP.NET выполняет непосредственно перед обслуживанием страницы. Если DEBUG внутри вашего представления выполняется на втором шаге. Описанная вами сборка релиза - это первый шаг. Следовательно, параметр отладки / выпуска вашего проекта не имеет ничего общего с параметром отладки в Web.config / компиляторе ASP.NET.

Более того, для вашей сборки Visual Studio было бы совершенно неуместно изменять параметр отладки в файл Web.config. Это две отдельные компиляции, и одна не должна влиять на другую.

С другой стороны, у вас, вероятно, есть вполне разумная потребность в том, чтобы ваше представление вел себя иначе, когда вы отлаживаете внутри Visual Studio, и ты можешь это сделать. Вам просто нужно переместить оператор «if» за пределы представления во что-то, что скомпилировано Visual Studio, а не ASP.NET. Мы делаем это с помощью HTML-помощника. Например:

        /// <summary>
        /// Returns the HTML to include the appropriate JavaScript files for 
        /// the Site.Master.aspx page, depending upon whether the assembly 
        /// was compiled in debug or release mode.
        /// </summary>
        /// <returns>HTML script tags as a multi-line string.</returns>
        public static string SiteMasterScripts(this UrlHelper helper)
        {
            var result = new StringBuilder();
#if DEBUG
            result.AppendFormat("<script src=\"{0}\" type=\"text/javascript\"></script>", helper.Content("~/Content/js/MicrosoftAjax.debug.js"));
#else
            result.AppendFormat("<script src=\"{0}\" type=\"text/javascript\"></script>", helper.Content("~/Content/js/MicrosoftAjax.js"));
#endif
        // etc. ...

Сюда входят файлы JS отладки при работе в конфигурации отладки в Visual Studio, но в противном случае JS свернут.

32
ответ дан 30 November 2019 в 12:00
поделиться

Установите в вашем файле web.config .

]
3
ответ дан 30 November 2019 в 12:00
поделиться

Проверьте настройки вашего проекта, чтобы убедиться, что DEBUG не определен.

0
ответ дан 30 November 2019 в 12:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: