将YuiCompressor集成到TFS构建中

时间:2012-02-23 17:04:15

标签: yui minify tfsbuild

我已经使用TFS Build模板部署了我的网站,现在我想使用.u的yuicompressor端口添加css和js minify和压缩,我已经按照Yui compressor site in Codeplex的所有说明操作,但我没有结果。我需要一些示例或任何其他探测方法在TFS构建过程中使用yuicompressor。

这是与yui-compressor相关的配置部分,我已附加到我的项目文件

<UsingTask
        TaskName="CompressorTask"
        AssemblyFile="$(MSBuildProjectDirectory)\..\packages\YUICompressor.NET-MsBuild-Task.1.7.0.0\lib\net35\Yahoo.Yui.Compressor.MsBuildTask.dll" />
  <PropertyGroup>
    <SourceLocation>$(MSBuildProjectDirectory)</SourceLocation>
    <CssOutputFile>$(SourceLocation)\Content\sylessheetfinal.css</CssOutputFile>
    <JavaScriptOutputFile>$(SourceLocation)\Scripts\javascriptfinal.js</JavaScriptOutputFile>
  </PropertyGroup>
  <Target Name="MyTaskTarget">
    <ItemGroup>        
      <!-- All the files. They will be handled (I assume) in alphabetically. -->          
      <CssFiles Include="$(SourceLocation)\Content\*.css" />
      <JavaScriptFiles Include="$(SourceLocation)\Scripts\*.js" />
    </ItemGroup>
    <CompressorTask
        CssFiles="@(CssFiles)"
        DeleteCssFiles="false"
        CssOutputFile="$(CssOutputFile)"
        CssCompressionType="YuiStockCompression"
        JavaScriptCompressionType="YuiStockCompression"
        JavaScriptFiles="@(JavaScriptFiles)"
        ObfuscateJavaScript="True"
        PreserveAllSemicolons="False"
        DisableOptimizations="Nope"
        EncodingType="Default"
        DeleteJavaScriptFiles="false"
        LineBreakPosition="-1"
        JavaScriptOutputFile="$(JavaScriptOutputFile)"
        LoggingType="ALittleBit"
        ThreadCulture="en-au"
        IsEvalIgnored="false"/>
  </Target>

1 个答案:

答案 0 :(得分:1)

您是否在Team Foundation Server上使用Team Build?该网站上的说明适用于本地开发人员的计算机,因为他们提到在构建后事件中在命令行上调用msbuild.exe。 请注意,项目文件(即csproj)使用的是msbuild xml语法,因此即使对于本地开发人员的构建,后期构建中的msbuild.exe也是过多的 - 所以您可能需要做的是在项目中复制部分msbuild.xml文件,如果您正在使用Web应用程序项目