2

Web 配置公開プロファイルを使用して配置するときに、AjaxMin を使用して Javascript と CSS を最小化しようとしています。プロジェクトファイルにあるものは次のとおりです。

<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\AjaxMin.tasks" />
  <PropertyGroup>
    <ResGenDependsOn>
      MinifyJavascriptAndCss;
      $(ResGenDependsOn);
    </ResGenDependsOn>
  </PropertyGroup>
  <Target Name="MinifyJavascriptAndCss" 
    Condition=" '$(ConfigurationName)'=='Release' ">
  <ItemGroup>
    <JS Include="$(_PackageTempDir)\**\*.js" 
      Exclude="$(_PackageTempDir)\**\*.min.js;Scripts\*.js" />
  </ItemGroup>
  <ItemGroup>
    <CSS 
      Include="$(_PackageTempDir)\**\*.css" 
      Exclude="$(_PackageTempDir)\**\*.min.css" />
  </ItemGroup>
  <Message Text="Compressing JavaScript and CSS files into $(_PackageTempDir)"
    Importance="high" />
  <AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$"
    JsTargetExtension=".min.js" CssSourceFiles="@(CSS)" 
    CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" />
</Target>

出力ディレクトリを見ると、ファイルが表示されるときにファイルが縮小されていることがわかりますがmin.*、パッケージ ファイルが展開されると、それらは含まれません。

縮小されたファイルを発行パッケージに強制的に含めるにはどうすればよいですか?

4

3 に答える 3

0

VS2010ではうまくいきましたが、VS2012では何もしません...

<!-- Use AjaxMinifier from Libs folder in this project -->
      <UsingTask TaskName="AjaxMin" AssemblyFile="$(MSBuildProjectLocation)Libs\AjaxMinTask.dll" />
      <!-- This target will run after publish web in Release mode -->
      <Target Name="MinifyJavaScriptAndCSS" AfterTargets="CopyAllFilesToSingleFolderForPackage" Condition="'$(Configuration)'=='Release'">
        <ItemGroup>
          <!-- Every .js file (exclude *.min.js and *.vsdoc.js files) -->
          <JS Include="$(_PackageTempDir)\**\*.js" Exclude="$(_PackageTempDir)\**\*.min.js;$(_PackageTempDir)\**\*vsdoc.js" />
          <!-- Every .css file (exclude *.min.css files) -->
          <CSS Include="$(_PackageTempDir)\**\*.css" Exclude="$(_PackageTempDir)\**\*.min.css" />

        </ItemGroup>
        <!-- Log in output build window -->
        <AjaxMin JsKnownGlobalNames="jQuery,$" JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".js" CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".css" />
        <!-- Log in output build window -->
        <Message Text="[pcv] $(MSBuildProjectName) -&gt; Minified: @(JS)" Importance="high" />
        <Message Text="[pcv] $(MSBuildProjectName) -&gt; Minified: @(CSS)" Importance="high" />

      </Target>
于 2013-02-19T16:33:39.747 に答える