2013-08-27 2 views
0

Проект моей команды состоит из приложения Web Forms и служб WCF в двух отдельных решениях (службы WCF размещаются на сервере в домене, веб-приложение находится в DMZ). У меня есть два определения сборки для моего Team Project: сборка CI и сборка вручную. Вчера я объединил ветку в мой багажник, чтобы подготовиться к развертыванию. Когда я проверил в моем слиянии, сборка CI стартовала ... и преуспела. Итак, я поставил в очередь ручную сборку (ручная сборка - это то, что заканчивается на prod-сервере). Сбой сборки вручную. Он терпит неудачу каждый раз, когда я запускаю его сейчас, однако CI-сборка выполняется каждый раз. Ошибка из журнала сборки будет вставлена ​​ниже. Я не знаю, как я сломал эту сборку, и я в замешательстве, почему сборка CI преуспевает, но ручная сборка завершается неудачно (такое же определение сборки, кроме места перетаскивания, отличается и триггер отличается).Успешная сборка с непрерывной интеграцией, сбой сборки вручную

Ошибка:

Exception Message: Access to the path 'C:\Builds\1\My Web App\My Web App\Sources\MyAppWcfServices\Services\Messages' is denied. (type UnauthorizedAccessException) Exception Stack Trace: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator 1.CommonInit() at System.IO.FileSystemEnumerableIterator 1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption, Boolean checkHost) at System.IO.Directory.InternalGetDirectories(String path, String searchPattern, SearchOption searchOption) at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path) at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path) at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path) at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path) at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectory(String path, Boolean recursive) at Microsoft.TeamFoundation.Build.Workflow.Activities.DeleteDirectory.Execute(CodeActivityContext context) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

Вещи, которые я читал/пробовал:

У меня нет моего obj или bin справочники в версии управление. Это определение сборки работает отлично в течение нескольких месяцев, вплоть до вчерашнего дня. Я не уверен, что произошло, когда я слился, что вызвало бы это. Не было конфликтов в моем слиянии, это было легко peasy .... пока я не попытался построить.

+0

ли CI и вручную строить происходят на одном сервере? – Isaiah4110

+0

@ Isaiah4110 Да – CDR12

ответ

0

Вы проверили, заблокирован ли фактический файл? попробуйте такой инструмент, как unlocker http://www.emptyloop.com/unlocker

+0

Спасибо! Я нашел путь, на который ссылается ошибка. По какой-то причине каталог «Сообщения» доступен только для чтения, и я не могу сделать его доступным для записи. Я наращиваю команду наших серверов, чтобы узнать, могут ли они помочь. – CDR12

0

Я видел эту ошибку, возникающую при открытии определенной папки/файла в iexplorer/cmd.exe и т. д. (либо вами, либо каким-либо другим пользователем). Когда TFS пытается очистить каталог и получить последний файл, он будет терпеть неудачу, поскольку он используется другим процессом.

Если у вас есть доступ к серверу, откройте процесс taskmanager -> и закройте весь процесс iexplorer.exe/cmd.exe у других пользователей. Надеюсь, это исправит.

1

просто зайти на сервер контроллера Сложение и остановить «Visual Studio Foundation Team Build Service Хост 2013» и удалить файлы или папки, которые вы имеете ошибку в вашем сообщении, и снова запустить службу

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