Я бился головой о кирпичную стену, которую, кажется, легко обойти всем, кроме меня.
Я хочу настроить css и js сжатие , используя стандартную сборку в Team Foundation Server 2010 .Ниже то, что я пробовал до сих пор и потерпел неудачу.Я ищу волшебную руку помощи, которая поможет мне настроить это так, как профессионалы (SO полон их), считают, что так и должно быть.
http://yuicompressor.codeplex.com/releases/view/46679 (загрузить демо с использованием событий после сборки)
Этот метод выглядел многообещающе, поскольку он точно соответствовал обещанию при сборке проекта в Visual Studio.
Моя команда msbuild Post-build:
$ (MSBuildBinPath) \ msbuild.exe "$ (ProjectDir) MSBuild \ MSBuildSettings.xml" /p:CssOutputFile="$(TargetDir)..\Content\StylesSheetFinal.css "/ p: JavaScriptOutputFile =" $ (TargetDir) .. \ Scripts \JavaScriptFinal.js "
Однако, когда сборка выполняется TFS, я получаю много ошибок, подобных этим:
D: \ Builds \ 3 \ CKB 2010_Build_CP \ Sources\ CKB 2010 \ My.Name.Space \ MSBuild \ MSBuildSettings.xml (61): не удалось сохранить сжатый текст в выходной файл [D: \ Builds \ 3 \ CKB 2010_Build_CP \ Binaries .. \ Content \ StylesSheetFinal.css],Пожалуйста, проверьте путь / имя файла и убедитесь, что файл не магически заблокирован, доступен только для чтения и т. Д.
Так что ясно, что проблема в синтаксисе команды Post-build, которая неверна,Но я не могу понять, как заставить его работать как для локальных сборок, так и для сборок TSF.
Обновление 2011-08-17
Как заметил Эдвард Томпсон, я попытался добавить обратную косую чертук пути:
$ (MSBuildBinPath) \ msbuild.exe "$ (ProjectDir) MSBuild \ MSBuildSettings.xml" /p:CssOutputFile="$(TargetDir)\..\Content\styles.min.css "/p:JavaScriptOutputFile="$(TargetDir)\..\Scripts\scripts.min.js"
И результат такой:
Не удалось сохранить сжатый текст в выходной файл [D: \ Builds \ 3 \ CKB 2010_Build_CP \ Binaries \\ .. \ Content \ styles.min.css].Пожалуйста, проверьте путь / имя файла и убедитесь, что файл не магически заблокирован, доступен только для чтения и т. Д.