3

私はAsp.net 4 C#とMicrosoftAjax Minifierを使用します。Webアプリケーションを公開するときにAsp.NetのCSSとJSを縮小する

ここに私のコードを見てください。 <Target Name="AfterBuild">を使用すると、すべてのファイル.js.cssを縮小できます。問題は、このコードがプロジェクトソリューションのオリジナルファイルをさらに縮小するため、テーマをもう一度編集することはほとんど不可能だということです。

代わりにすべて.jsとを小さくする必要があります。 css私のソリューションでローカルフォルダに公開した後。

このようにして、元のファイルをプロジェクトフォルダにそのまま残しておき、代わりにサイトをコンパイルして別のローカルフォルダに縮小することができます。

<Target Name="Publish">を使用してスクリプトを変更しても、エラーは発生しませんが、動作しません。

私がここで紛失していることを教えてください。この問題を解決するためのより良いアプローチがあるのでしょうか?ターゲット・ファイル名は.min、例えばなどが確実に、元のjs/cssファイルを失うことに対処するためのおかげで

<!-- Minify all JavaScript files that were embedded as resources --> 
<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" /> 
<Target Name="Publish"> 
    <ItemGroup> 
     <JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js" /> 
    </ItemGroup> 
    <ItemGroup> 
     <CSS Include="**\*.css" Exclude="**\*.min.css" /> 
    </ItemGroup> 
    <AjaxMin 
     JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".js" 
     CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".css" /> 
</Target> 
+0

MSAjaxを使用したことがありませんでしたが、ターゲットファイル名に '.min'が含まれていてはいけないので、ソースファイルを上書きしないでください。例えば。 'JsTargetExtension ="。min.js "'と 'CssTargetExtension ="。min.css "'? – Will

+0

VS私は拡張子.min.jsのファイルを公開させません。この理由からこの質問を書いています。 – GibboK

+0

私は-min.cssと-min.jsのバージョンも使用していますが、これはファイルを自動的に公開することを可能にしていますが、クリーンな解決策ではないと思っています。 。 – GibboK

答えて

3
(質問からコピー)

JsTargetExtension=".min.js"およびCssTargetExtension=".min.css"。 MsAjaxのminifierを使用しての記事を参照してください:http://www.asp.net/ajaxlibrary/ajaxminquickstart.ashx

、その後縮小さファイルを公開できるようにするには、こちらの記事を参照してください。Using Microsoft AJAX Minifier with Visual Studio 2010 1-click publish

私の職場では、我々は、Visual Studio用の快活アドインを使用することによって、かなり違っにより縮小の問題を解決しています。保存すると自動的にファイルが.minバージョンに縮小されます。 http://chirpy.codeplex.com/

+0

ありがとうwilあなたの答えは、興味深いアプリchirpy私は確かに見ていきます。 – GibboK

関連する問題