Почему связки не связываются на одном сервере?

Почему рендеринг пакетов связывается и минимизируется на одном сервере, а не на другом? QA и Production - это одна и та же ОС и версия IIS, но они дают разные результаты. В QA, Styles.Render() а также Scripts.Render() генерировать связанный, минимизированный вывод. В производстве они обычно не делают (но иногда делают).

У меня есть эта строка в моем макете.

@Scripts.Render("~/siteJs")

В разработке я ожидаю и получаю этот вывод.

<script src="/MyApp/Scripts/jquery.placeholder.js"></script>
<script src="/MyApp/Scripts/Site.js"></script>

На сервере QA я ожидаю и получаю это.

<script src="/MyApp/siteJs?v=7-G_q9YBnk..."></script>

Но в Production я обычно (но не всегда) получаю вывод dev.

<script src="/MyApp/Scripts/jquery.placeholder.js"></script>
<script src="/MyApp/Scripts/Site.js"></script>

Чтобы попытаться воспроизвести, я удалил веб-приложение из QA и развернул двоичные файлы и конфигурации для Production в QA, но все же QA дал мне ожидаемый результат. Я видел это в нескольких веб-приложениях, как MVC3, так и MVC4.

Я могу заставить его надежно минимизировать и связать, изменив строку в моем макете на это.

@Scripts.Render(BundleTable.Bundles.ResolveBundleUrl("~/siteJs"))

Это, к сожалению, всегда связывает и минимизирует, даже в разработке.

РЕДАКТИРОВАТЬ:

Отладка не установлена ​​в Производстве и QA web.config файлы.

<compilation targetFramework="4.0">

1 ответ

Решение

На производстве убедитесь, что для отладки установлено значение false в web.config. Установка его на true в процессе разработки должна изменить ваш вывод.

<compilation debug="false" ... />
Другие вопросы по тегам