TF270016:在发布日志文件时出现错误

9

团队成员们,

今天使用TFS 2012有些困难,我一直在排队构建,但是构建服务器无法将文件复制或移动到指定的文件夹。我已经在Win Server 2008 R2上安装了TFS 2012。基本上错误提示显示目标文件夹访问被拒绝,因此无法复制。TFS管理控制台显示构建服务正在以本地服务(LocalService)的身份运行。我已经赋予了Local Service帐户对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\logs'发布日志文件时发生错误。详细信息:访问路径'\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 instance, ActivityExecutor executor, BookmarkManager bookmarkManager) 在 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个回答

11

这只是一个权限问题。

  • 首先,以本地用户/域用户(如果适用)身份运行构建服务,并使其正常工作。
  • 创建一个正确的共享目录,而不是使用默认管理员共享(d $)。
  • 确保文件夹属性上的共享和安全选项卡均允许该用户具有写权限。
  • 错误日志显示“\localhost”,正确的访问方式应该是“\\localhost”(这可能是堆栈溢出编辑器的问题,与此无关)

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

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

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


1
谢谢,它起作用了。实际上非常简单。简要地说,右键单击任何文件夹,然后转到共享选项卡、高级选项和共享复选框。我错过的是路径。它应该是 \YourServerName\YourShareFoldreName。但我所做的是 \YourServerName\d$\YourShareFoldreName。d$ 是我在尝试提供完整路径时犯的错误。 - VivekDev

3

请确保删除目录和构建服务的 "本地服务" 组具有完全权限。


2

tfs构建服务使用的默认帐户是nt authority\network service。在编译解决方案/项目后,尝试将位复制到生成共享目录的是该用户。

因此,请在您的生成共享目录上添加对该帐户的权限。


0
[TFS2013] 当我关闭投放文件夹选项并删除路径时,发生了此错误。通过在构建配置中重新指定输出文件的投放文件夹(UNC)来解决了这个问题。
似乎如果您没有投放文件夹,即使它给您不设置投放文件夹的选项,TFS也会感到不安。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接