2014-09-12 2 views
1

Я пытаюсь создать процесс сборки с помощью круиз-контроля 1.8.5.0 с TFS 2010, запущенным на сервере Windows Server 2008 R2. Проблема, с которой я сталкиваюсь, заключается в том, что MS Build пытается записать файлы, которые просто скопированы в область проектов, доступ к которой запрещен. Когда я смотрю файлы, они настроены только на чтение, учетная запись, с которой работает ccnet, является администратором на поле, и все читает и записывает локально. У нас есть аналогичная настройка среды в Windows Server 2003, и все работает отлично. Мы проверили, что учетная запись, которая запускает процесс, верна, я установил владельца папки проектов в ту же учетную запись, которая запускает этот процесс, мы отключили UAC. На данный момент я в недоумении. Любую дополнительную информацию нужно сообщить мне.msbuild не умеет писать в файлы

Благодаря Роберт

ответ

1

// Когда я смотрю на файлы, которые они установлены только для чтения, //

Вы можете запустить ATTRIB снять флаг только для чтения на файлы.

быстрый пример:

<Exec Command=“attrib -R $(SolutionRoot)\MyCoolFile.txt“ /> 

Существует также обычай задача:

<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Attrib" /> 

Я не использовал его, но это было бы достаточно, чтобы охотиться вниз.

Я предполагаю, что это будет выглядеть следующим образом:

<ItemGroup> 
<Files Include="$(SolutionRoot)\MySubFolder\**\*.*/> 
</ItemGroup> 

<Attrib Files="%(Files.Identity)" ReadOnly="true"/> 
+0

Я уверен, что это происходит в процессе MSBuild, я предполагаю Exec команда будет выполняться до или после завершения процесса и это не поймет проблему? Это правильно или я буду запускать это по-другому? Я могу опубликовать свою задачу сборки, если вы хотите? – Robert

+0

Вам просто нужно засунуть в свой мастер msbuild (.proj) скрипт, который находится выше ... прямо перед тем, как возникнет проблема ..... Его одно из таких «это не должно произойти, но это так». У меня это случилось когда-то в моем msbuild прошлом ... вот почему я ответил. – granadaCoder

+0

Хорошо классно, нужно защищать любовь. спасибо за помощь. – Robert

Смежные вопросы