Связывание ASP.NET: запускайте IBundleTransform даже без оптимизации

Мы используем System.Web.Optimization объединение для объединения и сжатия наших JS и CSS.

Мы также используем пользовательскую реализацию IBundleTransform в дополнение к существующим JsMinify и CssMinify, чтобы сделать некоторые причудливые вещи в JS (замена определенных заполнителей) перед отправкой в ​​браузер.

Все работает нормально, пока мы работаем в режиме Release, потому что тогда вступают в действие объединение и оптимизация. Но в режиме отладки (который удобен для отладки;) он, кажется, полностью игнорирует все указанные IBundleTransform (имеет смысл в большинстве случаев использования -случаи, наверное).

Есть ли способ всегда запускать собственный IBundleTransform, даже в режиме отладки, но запускать другие (по умолчанию) алгоритмы объединения (JsMinify, CssMinify) только тогда, когда мне действительно нужно оптимизировать (в режиме выпуска)?


person Hannes Sachsenhofer    schedule 17.10.2013    source источник


Ответы (2)


Таким образом, магия отладки/релиза управляется с помощью помощников Scripts/Styles. Поведение, запрещающее применять какие-либо преобразования, встроено в реализацию этих помощников, поэтому, если вы хотите сделать это, лучшим обходным путем может быть просто иметь отладочную/выпускную версию каждого пакета и всегда включать объединение через BundleTable.EnableOptimizations = true .

person Hao Kung    schedule 19.10.2013
comment
Tx, я воспользуюсь вашим предложением/обходным решением и создам специализированные пакеты Debug и Release.` - person Hannes Sachsenhofer; 21.10.2013

person    schedule
comment
Tx, но это не решает проблему, потому что мне не нужно менять Debug-/Release-mode, а нужно использовать возможности Release-mode в Debug-mode. - person Hannes Sachsenhofer; 21.10.2013