2016-05-13 7 views
0

Visual Studio 2015でTypescriptを使用して、複雑な単一ページアプリケーションを作成しています。 これは、Webプロジェクトであり、クライアント上のMVCまたは.NETではありません。クライアント上ではjQuery、JavaScript、CSS3、およびHTML5のみ、サーバー上ではWeb API 2.0/C#を使用しています。すべてのファイルは、ビルドプロセスの一環としてバンドル/ミニ化する必要があります。Visual Studio 2015 Web/SPAプロジェクトのバンドル/ミニエイタの問題

問題

最近まで、madskristensenバンドラー/ Minifierは、HTMLファイルを縮小化することが確実に取り組んできましたし、ダウンロードするための2つの別々のファイルにバンドル/縮小化、すべてのCSSやJavaScriptファイル。数日前に、VSはプロジェクトのビルドプロセス中にエラーダイアログを表示し始めました。これは、1つ以上のJavaScriptファイルが編集され、ビルドが開始されたときに発生します。 bundler/minifierはその処理を試みますが、ファイルにアクセスすることはできません。

私は、最近同じ問題に遭遇した少なくとも2人の他の人が見つかりました。私は解決策を見いださなかった。それか、彼らは別のプロセスによって使用されているため

エラーメッセージ

バンドラー/ Minifierプロセスは、ファイルをアクセスすることはできません。この警告メッセージは、Bundler/Minifierによってポップアップダイアログ(一度に20以上のウィンドウが表示されることがあります)に表示されます。競合のフラグが付けられたファイルは、バンドルされたJavaScriptコード(bundled.js)です。どうやらこの問題を引き起こす何らかの競合状態があります。 Visual Studioは、バンドルされた/縮小されたJavaScriptファイルを作成し、問題なく作成します(まれであり、予期しない)。ほとんどの場合、VSは縮小プロセスを完了しますが、縮小されたファイルのサイズは通常よりも小さく、破損しています。

私たちはWindows 10を使用しています。madskristensen Bundler/Minifierの最新バージョンは数日後にインストールされました。私はそれが問題であるかどうかを知るために以前のバージョンを見つける場所を特定できませんでした。私は複数のPCで問題を確認しましたが、残念ながら、すべてのPCが最新バージョンのソフトウェアで更新されています。過去に問題がなかった旧バージョンのプロジェクトはすべて同じ症状を示していることを確認しました。

質問1: madskristensen Bundler/Minifierの旧バージョンはどこから入手できますか? Visual Studio 2013のリンクは見つかりましたが、2015は見つかりませんでした。

質問2: madskristensen Bundler/Minifierは、ビルドフローに埋め込まれているのではなくスクリプトファイルから実行できますか?タスクランナーエクスプローラーを使用して、ビルド前とビルド後のイベントで実行するプロセスを設定しようとしましたが、問題は残りました。

私はmadskristensen Bundler/Minifierの作業を行う方法を探しています。どんなアイデアでも大歓迎です。

更新質問3: madskristensenバンドラー/ Minifierはポストビルドプロセスでバッチファイルから実行することができない場合は、いくつかの選択肢は何ですか?

よろしく...

答えて

2

回避策オプション

この問題は、私たちのテスト/開発プロセスのためのショーストッパーですので、我々は問題がうまくいけば解決されるまで、長期代替近く生きて来なければなりませんでしたmadskristensen Bundler/Minifierと一緒に。

http://ajaxmin.codeplex.com/にあるMicrosoft Ajax Minifierは、プロジェクトのJavaScriptコードをバンドルして小さくするための実行可能な代替手段です。 コールCD「$:それは、Visual Studio 2015

ポストバッチファイル

を構築し、私はポストビルドプロセスに次のように含まにポストビルドプロセスで実行中のバッチファイルを取得するために時間はかかりませんでした(プロジェクトのルートディレクトリにあります)(PROJECTDIR)」 bundleMinifyJavaScript.bat

バッチファイルで、私は、最初のプロジェクトのパスに変更してから、次のようにAjaxのMInifierへのフルパスを実行:

CDを"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を使用するオプションをまだ希望しています.WindowsのHTMLを縮小するためにまだ使用する必要があるためです。

よろしくお礼申し上げます...

関連する問題