VSTS使用中碰到的问题总结
啥都不可靠,包括公司内部的WIKI系统。还是贴出来,查找都方便。
- 一个团队项目中的多个解决方案,如果单独配置生成的话必须是不同的部署服务器,同一个部署服务器只能建立一个生成代理;
- 解决方案加入源代码管理后,若要更改源代码管理的设置,需要删除此团队项目所有的工作区。
- 默认只允许一个人签出:团队项目设置--源代码管理--签出设置,去掉“启用多个签出”前的选中状态。此时,签出时默认就以“签出-禁止其他用户签出和签入”的锁定类型;当有其他用户签出时,提示:“在工作区XXX中,XXX用户为签出锁定了项。。。”
- 使用http://jfpttfs:8090来解决不安装客户端就生成的情况:有一同事电脑上安装的VS2008上无法看到“生成”目录,重装仍无效,使用web,解决了无法生成的问题
- administrator都无法撤销其他同事签出并锁定的文件,可能是设置了不允许多人签出的策略。解决办法:在TFS服务器上执行:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE>tf undo /workspace:签出文件所在的工作区名;签出用户名 /server:TFS服务器名 $/......(文件所在的目录)
操作已成功完成。因为工作区 SH-SHULIHUA;shulihua 不在此计算机上,所以您必须在该工作区
中执行单独的 get 操作,以便使用在服务器上所做的更改更新该工作区。 - VS2008中添加文件夹或文件夹到团队项目中时,提示“错误,必须选择映射的目录”。解决办法:必须先在本地工作区中准备好目录,即把将要添加的内容放到团队项目所在的本地工作目录中。
- 所有的生成代理都不可用了,提示:TF215085: 连接代理 \Project1\ProjectBuildAgent 时发生错误: JFPTTFS\TFSSERVICE 未授权在计算机 jfptbuild (端口 9191)上使用 Team Foundation Build。(详细消息:远程服务器返回错误: (401) 未经授权。) 2009-10-27 11:18:06
解决办法:编译服务器上,tfsservice用户的密码过期,将此用户属性改为密码永不过期就可以了。 - 生成时错误:错误 43 无法注册程序集“D:\......\bin\Debug\GotDotNet.ApplicationBlocks.Data.dll”-拒绝访问。请确保您正在以管理员身份运行应用程序。拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
解决办法:有同事将bin与debug等目录也加入源代码控制了,删除后问题解决。 - TF31001:Team Foundation 无法从team foundation server JFPTTFS检索团队项目列表。Team Foundation Server返回了下面的错误。TFS30291:服务器因未知原因出现问题。请参见Team Foundation Server事件日志以获得详细信息。
按照http://msdn.microsoft.com/zh-cn/library/bb909712.aspx的办法,检索出是服务没有启动。启动服务后一切正常。 - TF224003:生成计算机JFPTBUILD上发生异常:文件“D:\temp\Project\Project2\BuildType”正由另一进程使用,因此该进程无法访问文件
解决办法:http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/649e1bff-9d40-449e-b1bd-6405611b83ee
“I am not sure why this is happening but if I reboot the dev build server I can build once then get the message. Looks like TFSBuild is holding the TFSBuild.proj file open or something.”
“I had a timeout set on the exec that wasn't expired so the build file was being held open. Once i removed the timeout parm the build dies and releases the proj file.” - TF30331:团队资料管理器无法连接到上次会话中使用的Team Foundation Server, JFPTTFS。该服务可能牌脱机状态或者网络不可用。请与Team Foundation Server管理员联系,以确认可以在网络上访问到该服务器。请使用“工具”菜单上的“连接到Team Foundation Server”命令重新连接到以前的服务器。
服务器返回以下错误:该服务器不提供Team Foundation服务。
技术信息(适用于管理员):
TF30059:Fatal error while initializing web service.
检查服务,发现SQL Server没启动,启动时又提示:
在本地计算机无法启动SQL Server(MSSQLSERVER)服务。
错误1069:由于登录失败而无法启动服务。
最终原因:应该使用TFSSERVICE服务启动服务,administrator无法启动。 - TF30063: 您没有访问 ...8080/ 的权限。
最常见情况是,密码错误,开发人员把域用户的密码当成了TFS的密码--TFS未使用域用户信息,密码与域没关系error : TF10128: 路径 C:\Documents and Settings\TFSSERVICE\Local Settings\Temp\。。。。。。Response.datasource 包含的字符数超过所允许的 259 个。请键入或选择较短的路径。
解决办法:在创建生成定义时,“工作区”默认是“$(SourceDir)”,改成较短的路径即可--注,工作区不能重复使用,否则提示已映射。 - TFS权限问题B项目,分支创建在目录versionpublish下,即在versionpublish下有分支B1、B2。。。这种情况下,在versionpublish上拒绝某些用户的read权限不起作用,必须在分支上拒绝,即权限必须分配到B1上。
- 编译报错:C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets(737,5,737,5): error : 设备未就绪。
解决办法:重新创建生成 - 创建团队项目时,错误
TF30224: 未能从报表服务器检索项目。请检查 SQL Server Reporting Services Web 和 Windows 服务是否在运行并且您是否拥有足够的特权来创建项目。 解释 “项目创建向导”在 JFPTTFS 上的 SQL Server Reporting Services 上创建报告时遇到问题。此时尚无法确定失败的原因。因为该操作已失败,所以向导无法完成 SQL Server Reporting Services 站点的创建。
--解决办法:在用户组WSS_RESTRICTED_WPG、TFS_APPTIER_SERVICE_WPG中加上了administrator - 问题:新建生成后使新生成入队,错误提示:路径 C:\TFSBuild2\ScoreBuild\Sources已在工作区JFPTBUILD_12中映射。
解决办法:菜单“生成”--管理生成代理--编辑,工作目录原来是指向C:\TFSBuild2\ScoreBuild,现换成$(Temp)\$(BuildDefinitionPath)--生成代理只有用这种变量自动产生的工作目录,才不会有工作空间的冲突。 - 原始问题:C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets(737,5,737,5): error : TF10128: 路径 C:\Documents and Settings\TFSSERVICE\Local Settings\Temp\.......RespInfo.datasource 包含的字符数超过所允许的 259 个。请键入或选择较短的路径。
解决办法:编辑生成定义,修改“工作区”里的“本地文件夹”,默认是$(SourceDir),修改成某个绝对路径。
引出的问题:WorkItemFieldValues="System.Reason=生成失败;System.Description=使用 Team Build 开始生成" WorkItemType="错误"
C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets(1422,5,1422,5): warning : TF42092: 无法为生成“project_Build_20100714.3”中的故障创建工作项。请确认工作项类型“错误”在团队项目“project”中受支持,并且已定义了字段“Microsoft.VSTS.Build.FoundIn”。若要使用其他工作项类型,请修改 TfsBuild.proj 文件中的 <WorkItemType> 元素。其他信息: 错误 工作项类型不存在。
解决办法:
重新创建生成定义(若要使用原有的定义名称,需先将生成生成定义删除,包括删除生成定义文件(MSBuild文件))
疑问:“MSBuild项目文件创建向导”里都用默认的设置,创建的生成文件TFSBuild.proj里默认的workitemtype定义如下:
<!-- WorkItemType
The type of the work item created on a build failure.
-->
<WorkItemType>错误</WorkItemType>
--不知在哪里修改这默认设置 -
Error
TF30042: 数据库已满。请与 Team Foundation Server 管理员联系。
检查后发现TfsVersionControl_log.LDF已达到30,574,536KB。故收缩了一下日志文件:
在数据库TfsVersionControl上“新建查询”后执行命令:backup log TfsVersionControl with no_log;
右击数据库TfsVersionControl,选择“任务”――“收缩”――“文件”,在弹出的窗口中,“数据类型”选择“日志”。点击“确定”后就收缩到了560K
浙公网安备 33010602011771号