Интеграция YuiCompressor в сборку TFS - PullRequest
0 голосов
/ 23 февраля 2012

Я уже развернул свой сайт, используя шаблон сборки TFS, теперь я хочу добавить css и js minify и сжатие, используя порт yuicompressor для .net, я следую всем инструкциям на сайте компрессора Yui в Codeplex , но я нет результатов. Мне нужен какой-то пример или любой другой проверенный способ использования yuicompressor в процессе сборки TFS.

это часть конфигурации, связанная с yui-компрессором, которую я добавил в файл моего проекта

<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 Ответ

1 голос
/ 23 февраля 2012

Используете ли вы Team Build на сервере Team Foundation Server?Инструкции на этом веб-сайте предназначены для локальной машины разработчика, так как в них упоминается вызов msbuild.exe из командной строки в событии после сборки.Обратите внимание, что файл проекта (то есть csproj) использует синтаксис msbuild xml, поэтому наличие msbuild.exe в пост-сборке является чрезмерным даже для сборки локального разработчика - поэтому вам может понадобиться скопировать части их msbuild.xml в ваш проектфайл, если вы используете проект веб-приложения

...