前几天,团队使用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 Project TF400711问题分析解决的更多相关文章

  1. Azure DevOps Server(TFS) 客户端分析

    Azure DevOps Server(TFS) 是微软公司的软件协作开发管理平台产品,为软件研发.测试.实施提供全流程的服务.作为一款应用服务器产品,他的客户端是什么,在哪里下载客户端?我们在项目实 ...

  2. Github和Azure DevOps的代码同步

    [前言]Github和Azure DevOps都提供了Git代码库功能,那么有没有办法将两边的代码库进行同步呢,答案是肯定的.这里的操作我都是用Azure DevOps的Pipelines功能来完成的 ...

  3. 解决macOS git clone Azure DevOps提示身份认证失败问题

    macOS的终端输入git clone对应Azure DevOps的Git地址,紧接着输入正确的用户名和密码仍然会提示认证失败.解决的方法是安装微软的Git-Credential-Manager.由于 ...

  4. 【Azure DevOps系列】Azure DevOps生成代码覆盖率

    前言 在做单元测试时,代码覆盖率可以作为我们衡量代码质量的一个指标,本章我们将使用Azure DevOps帮助我们生成代码覆盖率的结果.Azure DevOps构建管道还是具有代码覆盖率选项的,在Vi ...

  5. Azure Data Factory(三)集成 Azure Devops 实现CI/CD

    一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...

  6. Azure DevOps 跨账号连接 Azure 服务

    一,引言 由于新申请的 Azure DevOps 账号中的私有项目不在享受托管代理提供的1800分钟的免费时间,又不想花钱付费,那我们只能另想版本解决没有并行作业的问题. -------------- ...

  7. Azure Terraform(九)利用 Azure DevOps Pipeline 的审批来控制流程发布

    一,引言 Azure Pipeline 管道是一个自动化过程:但是往往我们由于某种原因,需要在多个阶段之前获得批准之后再继续下一步流程,所以我们可以向Azure Pipeline 管道添加审批!批准流 ...

  8. Azure DevOps to Azure AppServices

    Azure DevOps is a complete solution for software development, from planning to building to deploymen ...

  9. 使用ML.NET + Azure DevOps + Azure Container Instances打造机器学习生产化

    介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipeli ...

随机推荐

  1. 【C标准库】详解strerror函数

    创作不易,感谢支持 strerror 头文件:string.h 描述: strerror() 函数接受一个参数:errnum,它是一个表示错误代码的整数值.此函数将错误代码转换为说明错误的合适字符串指 ...

  2. laravel框架(完整上传到数据库,不提交图片)(以提交员工信息为例)

    第一步:使用PHP终端创建一个名为blog的框架 composer create-project --prefer-dist laravel/laravel blog 7.x 创建好之后,在框架中找到 ...

  3. 最短路径算法-迪杰斯特拉(Dijkstra)算法在c#中的实现和生产应用

    迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径. 它的主要特点是以起始点为中心向外层层扩展(广度优先遍历思想),直到扩展到终点为止 贪心算法(Greedy ...

  4. KingbaseES 与 Oracle 用户口令管理与资源管理

    一.概述 KingbaseES可以对用户口令与用户占用资源进行必要的管理.其管理方式,在这里与Oracle数据库进行参考比较. KingbaseES 使用扩展插件建立的系统参数,这组参数可以对数据库资 ...

  5. 《Markdown常用语法及快捷键》

    Markdown常用语法及快捷键       [```]+空格--代码格式 [---]+空格--水平分割线 [&emsp]+[;]--空格 [shift]+[tab]--清除当前行的格式

  6. Idea插件SequenceDiagram快速查看方法调用

    Idea打开setting->plugins安装插件SequenceDiagram 快速查看方法调用 在方法名上右键点击SequenceDiagram即可生成方法调用图 最上面一行为该方法涉及的 ...

  7. 使用ingress-nginx

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247496824&idx=1&sn=cd845d77 ...

  8. Fielddata is disabled on text fields by default Set fielddata=true on [service.address]

    2个字段的: PUT metricbeat-7.3.0/_mapping { "properties": { "service": { "proper ...

  9. 10. Fluentd部署:高可用配置

    对于高访问量的web站点或者服务,可以采用Fluentd的高可用配置模式. 消息分发语义 Fluentd设计初衷主要是用作事件日志分发系统的.这类系统支持几种不同的分发模式: 至多一次.消息被立即发送 ...

  10. Spring mvc源码分析系列--Servlet的前世今生

    Spring mvc源码分析系列--Servlet的前世今生 概述 上一篇文章Spring mvc源码分析系列--前言挖了坑,但是由于最近需求繁忙,一直没有时间填坑.今天暂且来填一个小坑,这篇文章我们 ...