TF270016:从中发布日志文件时出错

Viv*_*Dev 9 tfs tfsbuild tfs2012

球队,

今天到目前为止TFS 2012令人沮丧,我一直在排队构建,构建服务器无法复制/删除到指定的文件夹.我在Win Server 2008 R2上安装了TFS 2012.基本上错误表示拒绝访问目标文件夹,因此无法复制.TFS管理控制台显示构建服务作为LocalService运行.我授予对drop文件夹的本地服务帐户的完全控制权.我甚至试图在文件夹的属性中使用"共享"选项卡.这样就没有任何网络,只有单台机器上运行着所有TFS服务.我甚至试图将drop文件夹放在C盘上,但没有任何成功.有人可以请点亮一些吗?我错过了什么?似乎是一件微不足道的事情.

以下是例外细节.

异常消息:TF270016:从'C:\ Builds\1\Tfs_TeamProjectTrail\Tfs_Trial1_CI\Sources\Main\Tfs_Trial1\Tfs_Trial1.log'向'\ localhost\d $\VD\Tfs_Trial1_CI\Tfs_Trial1_CI_20130309.21 \发布日志文件时出错日志.详细信息:拒绝访问路径'\ localhost\d $\VD\Tfs_Trial1_CI\Tfs_Trial1_CI_20130309.21\logs'.(类型PublishLogFileException)异常堆栈跟踪:位于System.Activities.CodeActivity.InternalExecute(ActivityInstance实例,ActivityExecutor执行程序,BookmarkManager bookmarkManager)的System.Activities.Statements.Throw.Execute(CodeActivityContext context),位于System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem .ExecuteBody(ActivityExecutor executor,BookmarkManager bookmarkManager,Location resultLocation)

内部异常详情:

异常消息:拒绝访问路径'\ localhost\d $\VD\Tfs_Trial1_CI\Tfs_Trial1_CI_20130309.21\logs'.(类型UnauthorizedAccessException)异常堆栈跟踪:在System.IO.在System.IO.Directory上的System.IO.Directory.InternalCreateDirectory(String fullPath,String path,Object dirSecurityObj,Boolean checkHost)中的System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath) .InternalCreateDirectoryHelper(String path,Boolean checkHost)at Microsoft.TeamFoundation.FileSpec.CopyFile(String oldPath,String newPath,Boolean overwriteExisting)at Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(String sourceDirectory,String targetDirectory) Microsoft.TeamFoundation.Workflow.Activities.WindowsDropProvider.CopyDirectory(String sourceDirectory,String targetDirectory,String [] renameIfExists)at Microsoft.TeamFoundation.Build.Workflow.Activities.PublishLogFile.Execute(CodeActivityContext context)

gre*_*kes 11

这只是一个权限问题.

  • 首先运行构建服务作为本地用户/域用户(如果适用)并使其工作.
  • 创建合适的共享而不是使用默认的admin共享(d $)
  • 确保文件夹属性上的共享和安全选项卡都允许该用户具有写入权限.
  • 错误日志说"\ localhost"访问它的正确方法是"\\ localhost"(这可能是一个stackoverflow编辑器问题但不相关)

我目前没有时间写完整的答案,但我可以稍后扩展.

ProcMon也是一个很好的程序,可以在排除故障时使用它.

我认为这是一个很好的起点.