TFS 2015 中的索引源和发布符号步骤失败

Posted

技术标签:

【中文标题】TFS 2015 中的索引源和发布符号步骤失败【英文标题】:Index Sources & Publish Symbols step fails in TFS 2015 【发布时间】:2015-12-23 05:48:00 【问题描述】:

默认情况下,TFS 构建会在 Visual Studio 构建定义中创建“索引源和发布符号”步骤。当步骤的属性“发布符号的路径”为空时,一切正常。但是在设置本地目录的路径时,该步骤会产生如下错误:

2015-09-25T11:00:09.7991491Z Executing the powershell script: C:\NewAgent\tasks\PublishSymbols\1.0.4\PublishSymbols.ps1
2015-09-25T11:00:10.0022755Z Find-Files -SearchPattern **\bin\**\*.pdb -RootFolder C:\NewAgent\_work\990dcb3f\Projects
2015-09-25T11:00:10.0491548Z Found 15 files to index...
2015-09-25T11:00:10.0491548Z Invoke-IndexSources -RepositoryEndpoint <repositoryEndpoint> -SourceFolder C:\NewAgent\_work\990dcb3f\Projects -PdbFiles <pdbFiles>
2015-09-25T11:00:10.6272794Z Invoke-PublishSymbols -PdbFiles <pdbFiles> -Share C:\DebugSymbols -Product EntityMapper -Version 20150925.14 -MaximumWaitTime 7200000 -MaximumSemaphoreAge 1440 -ArtifactName 
2015-09-25T11:00:10.7348541Z ##[error]Can't infer artifact type from artifact location C:\DebugSymbols.
2015-09-25T11:00:10.7504779Z  
2015-09-25T11:00:10.7504779Z Start: AssociateArtifact
2015-09-25T11:00:10.7504779Z ##[error]Artifact Type is required.
2015-09-25T11:00:10.7504779Z End: AssociateArtifact

pdb 文件被发布到指定目录,所以我不太明白是什么导致了错误(然后导致整个构建作业失败)。

【问题讨论】:

【参考方案1】:

当步骤的属性“发布符号的路径”为空时,一切正常。

是的,因为如果符号路径没有设置,脚本只索引源,不发布符号。

但是在设置本地目录的路径时,该步骤会产生错误

您需要prepare your symbol store。在您的情况下设置文件夹共享和权限。

【讨论】:

即使权限设置为对本地文件夹中的每个人都具有完全控制权限,发布符号步骤也会导致上述错误。【参考方案2】:

在我的情况下,将“发布符号的路径”从

//我的服务器/符号

\\myserver\符号

解决了这个问题。不知道为什么这会发生在我身上,但还好... :)

【讨论】:

以上是关于TFS 2015 中的索引源和发布符号步骤失败的主要内容,如果未能解决你的问题,请参考以下文章

TFS中的Robocopy构建PowerShell步骤报告失败但没有错误

如何解决运行代码分析任务TFS中文件无法被索引两次错误?

使用 TFS 计划备份/还原将 TFS 2015 数据库还原到 TFS 2018 失败

TFS 2017工作项目搜索索引问题

UITableView 索引中的 # 符号

使用无符号索引执行反向“for”循环的最佳方法是啥?