Компрессор YUI для .Net - PullRequest
2 голосов
/ 03 июня 2009

Я пытаюсь использовать библиотеку YIUCompression в MSbuild (http://yuicompressor.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=22364) но я продолжаю получать следующую ошибку при запуске MSBuild:

ВЫВОД:

Цель сборки:
Запуск сжатия Css / Javascript ...

# Found one or more JavaScript file arguments. Now parsing ...
    ** Obfuscate Javascript: Yep!
    ** Preserve semi colons: Yep!
    ** Disable optimizations: Hell No!
    ** Line break position: None
    ** Thread Culture: Not defined
# 1 JavaScript file requested.
    => C:\JSMinify\YIUCompressor\Test\disableButton.js    C:\JSMinify\YIUCompressor\Millena-I.Build.proj(17,5): error : Failed to read in the data for the path/file [C:\JSMinify\YIUCompressor\Test\disableButton.js]. The most common cause for this is because the path is incorrect or the file name is incorrect ... so please check your path and file names. Until you fix this up, I can't continue ... sowwy.
C:\JSMinify\YIUCompressor\Millena-I.Build.proj(17,5): error : Value cannot be null.
C:\JSMinify\YIUCompressor\Millena-I.Build.proj(17,5): error : Parameter name: value
    Finished compressing all 1 file.
Total original JavaScript file size: 405. After compression: 0. Compressed down to 0% of original size.
Compressed content saved to file [C:\JSMinify\YIUCompressor\Test\disableButton.js].
Finished Css/Javascript compression.
Total time to execute task: 00:00:00.0312510

Завершено строительство цели "Build" в проекте "Millena-I.Build.proj".

Выполнен строительный проект "Millena-I.Build.proj".

Сборка выполнена успешно. C: \ JSMinify \ YIUCompressor \ Millena-I.Build.proj (17,5): ошибка: не удалось прочитать данные для пути / файла [C: \ JSMinify \ YIUCompressor \ Test \ disableButton.js]. Наиболее распространенная причина этого - неправильный путь или неправильное имя файла ... поэтому, пожалуйста, проверьте ваш путь и имена файлов. Пока вы не исправите это, я не могу продолжать ... sowwy.C: \ JSMinify \ YIUCompressor \ Millena-I.Build.proj (17,5): ошибка: значение не может быть нулевым. C: \ JSMinify \ YIUCompressor \ Millena-I.Build.proj (17,5): ошибка: имя параметра: значение

Ниже приведен мой скрипт сборки:

<!-- Execute CompressorTask for each file in the list -->
<CompressorTask
   Condition="'%(JavaScriptFiles.Identity)' != ''"
   JavaScriptFiles="%(JavaScriptFiles.Identity)"
   ObfuscateJavaScript="FoSho"
   PreserveAllSemicolons="Yeah"
   DisableOptimizations="Nope"
   EncodingType="Default"
   DeleteJavaScriptFiles="true"
   JavaScriptOutputFile="%(JavaScriptFiles.Identity)"
   LoggingType="ALittleBit" />

Я дал полные права на папку и файл (удален только для чтения). Удивительно, что при сбое сборки мой файл становится полностью пустым!

1 Ответ

1 голос
/ 05 июня 2009

Я использовал Java-версию YUICompressor для моего последнего проекта ASP.NET. Это работает для вас, или вы просто заинтересованы в файле .dll? Ниже моя цель.

<Target Name="MinifyScripts" Condition="Exists('$(JAVA_HOME)')">        
    <YuiCompress Files="@(JavaScriptContent)" Type="JS" JavaHome="$(JAVA_HOME)" YUIHome="$(MSBuildStartupDirectory)\Resource\BuildTool\yuicompressor-2.4.1.jar" />
    <YuiCompress Files="@(CssContent)" Type="CSS" JavaHome="$(JAVA_HOME)" YUIHome="$(MSBuildStartupDirectory)\Resource\BuildTool\yuicompressor-2.4.1.jar" />
</Target>

Это действительно просто. Попробуйте использовать его.

Дейв Уорд написал хорошую статью на эту тему здесь:

Автоматически минимизировать и объединять JavaScript в Visual Studio

...