2015-09-24 7 views
0

У меня есть следующий пакет в моем BundleConfig:Виртуальный путь при условии, что не используется в ASP.NET расслоения

bundles.Add(new StyleBundle("~/Content/Basic/globalCss").Include("~/Content/Basic/global.css")); 

Я использую следующий для визуализации CSS свертка:

@Styles.Render("~/Content/Basic/globalCss") 

На моем местном машина (среда отладки), файл CSS включается/загружается через его абсолютный путь. У меня есть компиляция отключена/false для отладки, так что это имеет смысл. Когда я нажимаю на окружающую среду QA (сборник включено/правда), я вижу следующий виртуальный путь включения в страницу:

<link href="/Content/globalbasicCss?v=6i8x1Cxf8pXm5g9uxAk8-wcO02DFmeAgYLWpJk-3r_g1" rel="stylesheet"> 

Это был старый виртуальный путь, по которому я был ~/Content/globalbasicCss.

Почему мой пакет не использует новый виртуальный путь, который я предоставил ~/Content/Basic/globalCss? Это потому, что никаких изменений, внесенных в файл CSS, включенный в комплект, не произошло?

ответ

0

Оказывается, мне нужно, чтобы внести изменения в фактических сгруппированных файлы CSS в порядке для этого пучка виртуального пути для обновления. Я не уверен, почему это так, и был бы признателен всем, кто лучше разбирался в сборке ASP.NET, объясняя, почему так происходит.

0

Это функция связывания и минимизации. Ваш пакет CSS будет уменьшен, и если бы у вас было больше файлов, они были бы объединены в один файл.

Это происходит, когда вы обычно строите в режиме выпуска с заходящим

<compilation debug="false"> 

Более подробной информации здесь web.config - http://www.asp.net/mvc/overview/performance/bundling-and-minification