Компрессор YUI и сборка TFS

У нас есть проект, в котором файлы .js и .css сжимаются с помощью YUI Compressor. Очень хороший инструмент. Мы также используем TFS 2010 в качестве сервера сборки с ночными сборками, которые также развертываются на нашем веб-сайте разработчиков.

Проблема заключается в том, что файл, созданный YUI, вызывает ошибку «Доступ запрещен». Это связано с тем, что уже существует такой файл, созданный ранее, и что он является частью проекта, что делает его доступным только для чтения. Однако мы можем удалить его из проекта, и все должно работать нормально. Проблема в том, что сгенерированный файл не включается в фактический пакет развертывания.

Локально у меня нет проблем, потому что у меня есть командный сценарий перед сборкой, который удаляет существующие файлы. По-видимому, это не работает на сервере сборки. Возможно, у пользователя контекста tfs нет разрешения, я не знаю.

Есть ли у кого-нибудь похожие проблемы?

Обновление 21/11: Вопрос может быть несколько расплывчатым. Чтобы упростить, скажем, что я хочу, чтобы это работало, как локально:

IF NOT $(ConfigurationName) == DEBUG DEL "$(ProjectDir)Styles\styles.min.css
IF NOT $(ConfigurationName) == DEBUG DEL "$(ProjectDir)JavaScript\script.min.js

Это определяется в строке командных событий перед сборкой в ​​разделе Свойства проекта -> События сборки.

Скрипт удаляет файлы перед генерацией YUI-файла, и поэтому нет файла для перезаписи.Может ли быть так просто, что пользовательский контекст, выполняющий сборку TFS, имеет недостаточные права на изменение?

РЕШЕНИЕ:

В результате мы получили следующий код в событии перед сборкой:

attrib -r "$(ProjectDir)Styles\styles.min.css"
attrib -r "$(ProjectDir)JavaScript\script.min.js"
IF NOT $(ConfigurationName) == Debug $(MSBuildBinPath)\msbuild.exe "$(ProjectDir)Config\MSBuild\BuildSettings.xml"

/ Mattias

8
задан Mattias 1 March 2012 в 06:32
поделиться