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

Tfs TF270016:从发布日志文件时出错,tfs,tfsbuild,Tfs,Tfsbuild,团队 到目前为止,由于TFS 2012,我一直在对生成进行排队,而生成服务器无法复制/删除到指定的文件夹,这让我很沮丧。我已在Win Server 2008 R2上安装了TFS 2012。基本上,错误表示对目标文件夹的访问被拒绝,因此无法复制。TFS管理控制台显示生成服务正在作为LocalService运行。我将本地服务帐户的完全控制权授予drop文件夹。我甚至试图摆弄文件夹属性中的“共享”选项卡。没有这样的网络,只有一台机器上运行着所有的TFS服务。我甚至尝试将drop文件夹放在C驱动器上,但

团队

到目前为止,由于TFS 2012,我一直在对生成进行排队,而生成服务器无法复制/删除到指定的文件夹,这让我很沮丧。我已在Win Server 2008 R2上安装了TFS 2012。基本上,错误表示对目标文件夹的访问被拒绝,因此无法复制。TFS管理控制台显示生成服务正在作为LocalService运行。我将本地服务帐户的完全控制权授予drop文件夹。我甚至试图摆弄文件夹属性中的“共享”选项卡。没有这样的网络,只有一台机器上运行着所有的TFS服务。我甚至尝试将drop文件夹放在C驱动器上,但没有成功。谁能给我点光吗?我错过了什么?似乎有些小事

以下是异常详细信息

异常消息:TF270016:从“C:\Builds\1\Tfs\u TeamProjectTrail\Tfs\u Trial1\u CI\Sources\Main\Tfs\u Trial1\Tfs\u Trial1.log”发布日志文件到“\localhost\d$\VD\Tfs\u Trial1\u CI\Tfs\u Trial1\u CI\u 20130309.21\logs”时出错。详细信息:对路径“\localhost\d$\VD\Tfs\u Trial1\u CI\Tfs\u Trial1\u CI\u 20130309.21\logs”的访问被拒绝。(键入PublishLogFileException) 异常堆栈跟踪:位于System.Activities.Statements.Throw.Execute(CodeActivityContext上下文) 位于System.Activities.CodeActivity.InternalExecute(ActivityInstance实例、ActivityExecutor执行器、BookmarkManager书签管理器) 位于System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor,BookmarkManager BookmarkManager,Location resultLocation)

内部异常详细信息:

异常消息:对路径“\localhost\d$\VD\Tfs\u Trial1\u CI\Tfs\u Trial1\u CI\u 20130309.21\logs”的访问被拒绝。(输入UnauthorizedAccessException) 异常堆栈跟踪:在System.IO.\u Error.WinIOError(Int32 errorCode,字符串maybeFullPath) 位于System.IO.Directory.InternalCreateDirectory(字符串完整路径、字符串路径、对象dirSecurityObj、布尔checkHost) 位于System.IO.Directory.InternalCreateDirectoryHelper(字符串路径,布尔checkHost) 位于Microsoft.TeamFoundation.Common.FileSpec.CopyFile(字符串oldPath、字符串newPath、布尔覆盖存在) 位于Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(字符串sourceDirectory,字符串targetDirectory) 位于Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(字符串sourceDirectory、字符串targetDirectory、字符串[]重命名存在)
在Microsoft.TeamFoundation.Build.Workflow.Activities.PublishLogFile.Execute(CodeActivityContext上下文)

这只是一个权限问题

  • 首先以本地用户/域用户(如果适用)的身份运行构建服务,并使其正常工作
  • 创建适当的共享,而不是使用默认的管理共享(d$)
  • 确保文件夹属性上的“共享”和“安全”选项卡都允许该用户具有写入权限
  • 错误日志显示“\localhost”正确的访问方法是“\\localhost”(这可能会导致stackoverflow编辑器问题,但与此无关)
我目前没有时间写一个完整的答案,但我可以稍后再展开

ProcMon也是解决此类问题时使用的一个很好的程序


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

只需确保Drop directory和Build service对“Local service”组具有完全权限。

运行tfsBuild service的默认帐户是
nt authority\network service
。编译solution\project后,正是该用户尝试将位复制到构建共享


因此,请在您的生成共享上向此帐户添加权限。

[TFS2013]我在关闭“放置文件夹”选项并删除路径时出错。通过在生成配置中为输出文件再次指定放置文件夹(UNC),解决了该问题


如果你根本没有投递文件夹,TFS似乎很紧张,即使它给你一个没有投递文件夹的选项。

谢谢,它起作用了。其实很简单。简单地说,右键单击任何文件夹,然后转到“共享”选项卡、“高级”然后“共享”复选框。我错过的是那条路。它应该是\\YourServerName\YourShareFolderName。但我所做的是\\YourServerName\d$\YourShareFolderName。d$是我在试图提供完整路径时犯的错误。