2016-05-13 5 views
0

Мы используем TypScript в Visual Studio 2015 для создания довольно сложного одностраничного приложения. Это веб-проект, а не MVC или .NET на клиенте. Мы используем только jQuery, JavaScript, CSS3 и HTML5 на клиенте и Web API 2.0/C# на сервере. Все файлы должны быть связаны/минимизированы как часть процесса сборки.Visual Studio 2015 Проблемы Bundler/Minifier в проекте Web/SPA

Выпуск

До недавнего времени madskristensen Bundler/Minifier была надежно работать в Минимизировать HTML файлы и расслоение/преуменьшать все CSS и файлы JavaScript в двух отдельных файлов для скачивания. Пара дней назад, VS начал показывать диалог ошибки во время процесса сборки проекта. Это происходит, когда один или несколько файлов JavaScript редактируются и начинается сборка. Компилятор/минитор пытается выполнить свою задачу, но не может получить доступ к файлам.

Я нашел как минимум двух других лиц, которые недавно столкнулись с одной и той же проблемой. Я не нашел никаких решений.

Сообщение об ошибке

Процесс Bundler/Minifier не может получить доступ к файлу (ы), потому что он или они используются другим процессом. Это предупреждающее сообщение отображается во всплывающем диалоговом окне (иногда по 20+ раз за раз) с помощью Bundler/Minifier. Файл, помеченный для раздора, - это связанный код JavaScript (bundled.js). По-видимому, есть какое-то состояние гонки, которое вызывает эту проблему. Время от времени Visual Studio будет создавать и генерировать связанный/мини-файл JavaScript без проблем (редко и непредсказуемо). В большинстве случаев VS завершает процесс миниатюры, но размер мини-файла меньше, чем обычно, и он поврежден.

Мы используем Windows 10. Последняя версия madskristensen Bundler/Minifier была установлена ​​на несколько дней назад. Мне не удалось выяснить, где найти более раннюю версию, чтобы узнать, является ли она проблемой. Я проверял проблему на нескольких компьютерах, но, к сожалению, все наши ПК были обновлены с последней версией программного обеспечения. Мы подтвердили, что более старые версии проектов, у которых не было проблемы в прошлом, теперь проявляют те же симптомы.

Вопросы 1: Где можно получить более старые версии madskristensen Bundler/Minifier? Я нашел ссылки для Visual Studio 2013, но не в 2015 году.

Вопрос 2: Может ли безнадежный брандлер/мини-драйвер запускаться из файла сценария вместо того, чтобы встраиваться в поток сборки? Я попробовал использовать проводник запуска задач, чтобы настроить процесс для запуска на событиях до и после сборки, но проблема осталась.

Я ищу способ сделать madskristensen Bundler/Minifier работы. Любые идеи очень приветствуются.

Обновленный Вопрос 3: Если madskristensen Bundler/Minifier не может быть запущена из пакетного файла в процессе сборки после, что некоторые альтернативы?

С уважением ...

ответ

2

Обход Опция

Поскольку этот вопрос показать пробкой для нашего процесса тестирования/разработки, мы должны были придумать жизнеспособного ближайшей перспективе альтернативы до тех пор, пока проблема не будет, мы надеемся решить с madskristensen Bundler/Minifier.

Microsoft Ajax Minifier, расположенный по адресу http://ajaxmin.codeplex.com/, является жизнеспособной альтернативой расслоению и минимизации кода нашего проекта JavaScript. Это не займет много времени, чтобы получить пакетный файл выполняется в процессе сборки после в Visual Studio 2015.

Сообщения Построить Batch File

Я включил следующую информацию в процессе после сборки: вызова кд «$ (ProjectDir)» bundleMinifyJavaScript.bat (находится в корневой директории проекта)

в пакетном файле, я первым изменен на пути проекта, а затем выполняется полный путь к Ajax Minifier следующим образом:

кд «C: \ User s \ path ... \ projectName "

C: \ Program Files (x86) \ Microsoft \ Microsoft Ajax Minifier \ ajaxminifier.exe" libs/jquery.js libs/typeahead.js ... еще файлы здесь ... -out app/bundle.min.js -clobber

Этот процесс генерирует эквивалентный пакетный/минитипированный код, который помещается в нашу папку проекта приложения. Опция clobber позволяет перезаписать предыдущую версию файла bundle.min.js.

Этот обходной способ поддерживает создание упорядоченного списка файлов JavaScript в комплекте, который требуется для нашего проекта.

Я все еще надеюсь использовать опцию madskristensen Bundler/Minifier, потому что мы все еще должны использовать ее для минимизации нашего HTML.

С уважением, ...