【问题标题】:TF270016: An error occurred publishing log files fromTF270016: 发布日志文件时出错
【发布时间】:2013-03-09 13:41:35
【问题描述】:

团队,

到目前为止,TFS 2012 令人沮丧,我一直在排队构建,构建服务器无法复制/删除到指定的文件夹。我已经在 Win Server 2008 R2 上安装了 TFS 2012。基本上该错误表明对目标文件夹的访问被拒绝,因此无法复制。 TFS 管理控制台显示构建服务作为 LocalService 运行。我授予本地服务帐户对放置文件夹的完全控制权。我什至试图摆弄文件夹属性中的“共享”选项卡。无论如何都没有这样的网络,只有一台运行着所有 TFS 服务的机器。我什至尝试将放置文件夹放在 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.Statements.Throw.Execute(CodeActivityContext 上下文) 在 System.Activities.CodeActivity.InternalExecute(ActivityInstance 实例,ActivityExecutor 执行器,BookmarkManager 书签管理器) 在 System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor 执行器, 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(字符串 fullPath,字符串路径,对象 dirSecurityObj,布尔检查主机) 在 System.IO.Directory.InternalCreateDirectoryHelper(字符串路径,布尔检查主机) 在 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,字符串 [] renameIfExists) 在 Microsoft.TeamFoundation.Build.Workflow.Activities.PublishLogFile.Execute(CodeActivityContext 上下文)

【问题讨论】:

    标签: tfs tfsbuild


    【解决方案1】:

    这只是权限问题。

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

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

    ProcMon 也是解决此类问题的好程序。

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

    【讨论】:

    • 感谢它的工作。它实际上非常简单。简而言之,右键单击任何文件夹,然后转到共享选项卡,高级,然后共享复选框。我缺少的是路径。它应该是 \\YourServerName\YourShareFoldreName。但我所做的是 \\YourServerName\d$\YourShareFoldreName。 d$ 是我在尝试提供完整路径时所犯的错误。
    【解决方案2】:

    只需确保 Drop directory 和 Build 服务对“本地服务”组具有完全权限。

    【讨论】:

      【解决方案3】:

      运行 tfs 构建服务的默认帐户是nt authority\network service。编译解决方案\项目后,正是这个用户尝试将位复制到构建共享。

      因此,在您的构建共享上添加此帐户的权限。

      【讨论】:

        【解决方案4】:

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

        如果您根本没有放置文件夹,TFS 似乎很棘手,即使它为您提供了没有放置文件夹的选项。

        【讨论】:

          猜你喜欢
          • 2016-10-31
          • 1970-01-01
          • 2023-03-17
          • 1970-01-01
          • 2012-04-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多