前几天,团队使用Azure Devops创建团队项目出了一个奇怪的错误:
TF400797: 作业扩展具有一个未处理的错误: Microsoft.TeamFoundation.Framework.Server.TeamFoundationServicingException: TF400711: 在 ProjectCreate 期间,对组件 ProjectCreate.TfsTeamBuild 执行维护步骤”Create the Team Project“时出错: 文件存在 。---> System.IO.IOException: 文件存在 。在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 在 System.IO.Path.InternalGetTempFileName(Boolean checkHost) 在 Microsoft.TeamFoundation.Build.Server.ProcessTemplate.UpdateCachedProcessParameters(IVssRequestContext requestContext, VersionSpec versionSpec) 在 Microsoft.TeamFoundation.Build.Server.TeamFoundationBuildService.AddProcessTemplates(IVssRequestContext requestContext, IList`1 processTemplates) 在 Microsoft.TeamFoundation.Build.Server.TeamFoundationBuildService.CreateBuiltInProcessTemplates(IVssRequestContext requestContext, String teamProjectUri, Boolean isUpgrade) 在 Microsoft.TeamFoundation.Build.Server.TeamFoundationBuildService.CreateTeamProject(IVssRequestContext requestContext, String projectUri, IList`1 permissions) 在 Microsoft.TeamFoundation.Server.Servicing.TFCollection.BuildStepPerformer.CreateTeamProject(ServicingContext servicingContext) 在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationStepPerformerBase.PerformHostStep(String servicingOperation, ServicingOperationTarget target, IServicingStep servicingStep, String stepData, ServicingContext servicingContext) 在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationStepPerformerBase.PerformStep(String servicingOperation, ServicingOperationTarget target, String stepType, String stepData, ServicingContext servicingContext) 在 Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformServicingStep(ServicingStep step, ServicingContext servicingContext, ServicingStepGroup group, ServicingOperation servicingOperation, Int32 stepNumber, Int32 totalSteps) --- 内部异常堆栈跟踪的结尾 --- 在 Microsoft.TeamFoundation.Framework.Server.ServicingContext.FinishStep(Exception exception) 在 Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformServicingStep(ServicingStep step, ServicingContext servicingContext, ServicingStepGroup group, ServicingOperation servicingOperation, Int32 stepNumber, Int32 totalSteps) 在 Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformOperations(Int32 stepsToPerform) 在 Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.Execute(Int32 numberOfStepsToPerform) 在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationServicingService.PerformServicingJob(IVssRequestContext requestContext, ServicingJobData servicingJobData, Guid jobId, DateTime jobQueueTime, Int32 numberOfStepsToPerform, ITFLogger logger) 在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationServicingService.PerformServicingJobWithPotentialReRun(IVssRequestContext requestContext, ServicingJobData servicingJobData, Guid jobId, DateTime jobQueueTime, ITFLogger logger) 在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationServicingService.PerformServicingJob(IVssRequestContext requestContext, ServicingJobData servicingJobData, Guid jobId, DateTime jobQueueTime, ITFLogger logger) 在 Microsoft.TeamFoundation.JobService.Extensions.Core.ServicingJobExtension.Run(IVssRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime jobQueueTime, String& resultMessage) 在 Microsoft.TeamFoundation.Framework.Server.JobRunner.ExecuteJob(IVssRequestContext requestContext);
对于这个异常提示:
TF400711: 在 ProjectCreate 期间,对组件 ProjectCreate.TfsTeamBuild 执行维护步骤”Create the Team Project“时出错: 文件存在
网上找了很多解决方案,大多是要删除%temp%下的文件,因为%temp%下的文件个数超过了65536个
但是删除%temp%下的文件后,问题依然没有解决 。
此时,通过在Azure devops server上使用ProcessMonitor 分析TFS Job Agent发现了以下问题

文章插图
可以发现TFS Job Agent实际访问的是
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp
通过删除这个路径下*.tmp文件 。
问题得到了解决 。整个问题的解决过程分享给大家 。
周国庆
2022/11/13
【Azure Devops Create ProjectTF400711问题分析解决】
推荐阅读
- Java 【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK 输出日志并以文件形式保存
- Azure DevOps Server 设置项目管理用户,用户组
- 【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
- DevOps|乱谈开源社区、开源项目与企业内部开源
- 【Azure 环境】把OpenSSL生产的自签名证书导入到Azure Key Vault Certificate中报错
- Azure DevOps Server 入门实践与安装部署
- 研发效能|DevOps 已死平台工程永存带来的焦虑
- DevOps | 如何快速提升团队软件开发成熟度,快速提升研发效能?
- DevOps|1024程序员节怎么做?介绍下我的思路
- DevOps|从特拉斯辞职风波到研发效能中的不靠谱人干的荒唐事