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

时间:2013-03-09 13:41:35

标签: 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发布日志文件时出错0.21 \日志。详细信息:拒绝访问路径'\ localhost \ d $ \ VD \ Tfs_Trial1_CI \ Tfs_Trial1_CI_20130309.21 \ logs'。 (类型PublishLogFileException) 异常堆栈跟踪:在System.Activities.Statements.Throw.Execute(CodeActivityContext context)    在System.Activities.CodeActivity.InternalExecute(ActivityInstance实例,ActivityExecutor执行器,BookmarkManager bookmarkManager)    at 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 .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)    在System.IO.Directory.InternalCreateDirectory(String fullPath,String path,Object dirSecurityObj,Boolean checkHost)    在System.IO.Directory.InternalCreateDirectoryHelper(String path,Boolean checkHost)    在Microsoft.TeamFoundation.Common.FileSpec.CopyFile(String oldPath,String newPath,Boolean overwriteExisting)    在Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(String sourceDirectory,String targetDirectory)    在Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(String sourceDirectory,String targetDirectory,String [] renameIfExists)    在Microsoft.TeamFoundation.Build.Workflow.Activities.PublishLogFile.Execute(CodeActivityContext context)

4 个答案:

答案 0 :(得分:11)

这只是一个权限问题。

  • 首先以本地用户/域用户身份运行构建服务(如果适用)并开始工作。
  • 创建合适的共享而不是使用默认的管理员共享(d $)
  • 确保文件夹属性上的共享和安全选项卡都允许该用户具有写入权限。
  • 错误日志显示“\ localhost”访问它的正确方法是“\\ localhost”(这可能是我的stackoverflow编辑器问题但不相关)

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

ProcMon也是一个很好的程序,可以在对此类事情进行故障排除时使用。

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

答案 1 :(得分:3)

只需确保投递目录和构建服务具有"本地服务"的完全权限。基。

答案 2 :(得分:2)

运行 tfs 构建服务的默认帐户为nt authority\network service。在编译solution \ project之后,正是这个用户尝试将位复制到构建共享。

因此,请在构建共享中为此帐户添加权限。

答案 3 :(得分:0)

[TFS2013]当我关闭drop folder选项并删除路径时出现此错误。通过为构建配置中的输出文件再次指定一个drop文件夹(UNC)解决了该问题。

如果您根本没有drop文件夹,那么TFS似乎很麻烦,即使它让您可以选择没有。