2

基本的に、私の最終目標は、 .js および .css ファイルを縮小するMSBuildタスクの 1 つとしてAjax Minifier (バージョン 4.20) を使用しながら、Visual Studio ソリューションをビルドするときに既に存在する .min.js および CSS ファイルを削除することです。

Ajax Minifier のドキュメントによると、この-clobberオプションを使用して上記の目標を達成できます。ただし、Visual Studio MSBuild プロジェクト タスクのどこでこのオプションを使用できるかわかりません。-clobberただし、Ajax Minifier コマンドライン ツールのオプションを使用することはできます。

これが私のプロジェクト(.csproj)ファイルにある構成コードです...

<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="AfterBuild">
    <ItemGroup>
        <JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js" />
    </ItemGroup>
    <ItemGroup>
        <CSS Include="**\*.css" Exclude="**\*.min.css" />
    </ItemGroup>
    <AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js" CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" clobber="true" />
</Target>

ただし、ソリューションをコンパイルすると、次のエラーが発生しました-理由がわかりませんか?

「clobber」パラメーターは、「AjaxMin」タスクではサポートされていません。パラメーターがタスクに存在し、それが設定可能なパブリック インスタンス プロパティであることを確認してください。

4

4 に答える 4

0

AjaxMin.DLL を使用するビルド タスクには -clobber スイッチは必要ありません。このスイッチは、AjaxMin.EXE にのみ必要です。

于 2012-04-17T16:55:48.757 に答える
0

ドキュメントからわかることから、クロバースイッチが利用できないようです。利用できないという事実は、古いファイルの削除がタスクによって処理されることを示しているようです。タスクにファイル管理を任せることは、私にとってかなり理にかなっています。そうは言っても、クロバースイッチが本当に必要ですか?

その場合は、exec タスクを使用して AjaxMin のコンソール バージョンを呼び出すことができます。

<Exec Command="C:\PathToAjaxMin\AjaxMin.exe _options_here_" />

実行タスク

于 2011-06-11T22:41:07.607 に答える
0

C:\"Program Files (x86)"\MicroSoft\"MicroSoft Ajax Minifier"\AjaxMin.exe -css $(ProjectDir)css\style1.css $(ProjectDir)css\style2.css $(ProjectDir)css\style3. css -o $(ProjectDir)css\master.min.css -clobber:true

注: コマンドが POSTBuild イベントで 1 行にあることを確認してください。

これは私が使用しているものです。スクリプトを組み合わせる場合は、-css-jsに変更します。

ドキュメントに基づく: http://ajaxmin.codeplex.com/wikipage?title=Command-Line%20Switches

デフォルトでは、-clobber は false に設定されています。既存の出力ファイルを置き換える場合は、最後に true を指定する必要があります。

于 2011-11-22T05:16:33.517 に答える