Добрый день,
Мне было поручено выяснить, как исправить ошибки, которые мешают TFS полностью успешно реализовывать наши сборки.
Сначала у меня создалось впечатление, что это была ошибка разрешения безопасности, но я добавил разрешения для учетной записи пользователя TFS, чтобы обеспечить доступ ко всем необходимым дискам. Я включил подробный режим в журнале ошибок и получил следующее:
Starting task: Publish Artifact: drop
******************************************************************************
Executing the powershell script: C:\Agent\tasks\CopyPublishBuildArtifacts\1.0.20\CopyPublishBuildArtifacts.ps1
Preparing artifact content in staging folder C:\Agent\_work\1\a...
**System.IO.IOException: The directory name is invalid.**
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.EnumerateFileSystemEntries(String path, String searchPattern, SearchOption searchOption)
at Microsoft.TeamFoundation.DistributedTask.Task.Internal.PowerShell.CopyBuildArtifactCmdlet.ProcessRecord()
System.UnauthorizedAccessException: Access is denied ---> System.ComponentModel.Win32Exception: Access is denied
--- End of inner exception stack trace ---
Я просмотрел MSDN и не нашел ничего, что позволяло бы устранить эту ошибку даже окольным путем. Может ли кто-нибудь объяснить, как имя каталога может быть недопустимым, если в списке указан файл, созданный TFS при создании агента? Я готов предоставить любую дополнительную информацию, которая может понадобиться. Я ценю любого, кто пробился сквозь эту стену текста.
Крис
Один очень полезный человек из MSDN указал, что моим корневым значением копии должна быть папка, а не конкретный файл. Как только я исправил эту ошибку, все заработало как шарм.