2

作業中のVisualStudio2008Webアプリケーションで使用するMicrosoftAjaxMinifer4.0の調査を開始しました。.csprojファイルにフックするのは簡単であることが証明されているため、すべてのスクリプトの.min.jsファイルが生成されますが、これをWebセットアッププロジェクトおよびソース管理と統合する方法に困惑しています。

基本的に私がやりたいのは、結果の.min.jsファイルをソース管理に含めずにWebセットアッププロジェクトに含めることです。理由は次のとおりです。

  1. ビルドを実行する前にそれらをチェックアウトする必要があるのは面倒です(チェックアウトされていない場合、ミニファイアはそれらを変更できません)。
  2. それらは「ビルドアーティファクト」として作成されているため、ソース管理下に保存するのは間違っているようです。

これまでに出くわした唯一のオプションは、Webセットアッププロジェクトを右クリックして[追加]> [ファイル]を選択し、関連するフォルダーを作成して、セットアッププロジェクトの一部として.min.jsファイルを明示的に含めることです。ファイルを正しい場所に強制できるように、「ターゲットマシン上のファイルシステム」で階層が複製されました。これは、次のようにエレガントでもシンプル/ロバストでもありません。

  1. 縮小したすべてのjsファイルを手動でWebセットアッププロジェクトに追加する必要があります
  2. WebアプリケーションプロジェクトとWebセットアッププロジェクトの両方で、関連するディレクトリ構造のコピーを維持します
  3. 新しいjsファイルの縮小バージョンをWebセットアッププロジェクトに追加することを忘れないでください

これを行うためのより良い方法はありますか?

4

2 に答える 2

1

私が最終的に選択した解決策は、プロジェクトにミニファイア DLL を含め、.js ファイルへのすべての参照を置き換えたハンドラー (.ashx) を作成することでした。

<script src="MyJsFile.js" type="text/javascript"></script>

に置き換えられます

<script src="Minifier.ashx?file=MyJsFile.js" type="text/javascript"></script>

ファイルに構成設定があり、web.configスクリプト ファイルが縮小されているかどうかを判断できます。

于 2010-07-26T12:28:29.060 に答える
0

ソース管理でのMicrosoftAjaxミニファイアの使用

Microsoft Ajax Minifierは、縮小されたJavaScriptファイルとCSSファイルをビルドプロセスの出力として生成します。このため、ビルドプロセスで生成されたアセンブリを処理するのとまったく同じ方法で、縮小されたファイルを処理することをお勧めします。特に、縮小されたファイルをVisual Studioプロジェクトに含めないこと、および縮小されたファイルをソース管理にチェックインしないことをお勧めします。

プロジェクトに縮小ファイルを含め、ソース管理を使用すると、問題が発生します。ファイルがソース管理からチェックアウトされると、読み取り専用属性が設定された状態でチェックアウトされます。ビルドを実行しようとすると、Microsoft Ajax Minifierが読み取り専用ファイルに書き込もうとすると、エラーが生成されます。

ソース:マイクロソフト

私の理解では、これは-minファイルをプロジェクトに追加しないことを意味します。それだけです。IISがアプリをビルドすると、ファイルが自動的に作成されます。WebサーバーにMicrosoftMinifier4.0をインストールする必要があると思います。

于 2010-03-08T15:00:48.653 に答える