Creating a team build definition : Why should one NOT use the default workspace

(中文版) In Team Explorer 2008, the team build definition wizard offers a default workspace which uses “$/<team_project_name>” as the source control folder. This is not appropriate for most of the time. One should customize the workspace mapping, make the “Source Control Folder” to include only the folders necessary for the build. Overlooking this requirement would…

1

“检查发行商的证书吊销状态”使 diffmerge.exe启动变慢

 (English Version) 我的一位客户报告说,当使用团队浏览器2008做文件比较的时候,如果计算机不连接因特网,则默认的比较工具(diffmerge.exe)启动比团队浏览器2005要慢很多。重现的步骤是:在团队浏览器的源代码控制视图选择一个文件->察看历史信息->双击察看一个 change set->在“源代码管理”栏,从列表中选择一个文件,右击,选择“比较-上一个版本”。 数据显示: 1.  使用团队浏览器2005,diffmerge.exe启动只要2~3秒钟。网络连接情况对工具启动时间没有影响。 2.  使用团队浏览器2008, 计算机连接因特网的情况下, diffmerge启动与2005一样快。但是如果无因特网连接,则工具启动需要13+秒钟。   Network Monitor 日志显示diffmerge.exe 9.0 启动时试图连接“crl.microsoft.com”。这篇msdn blog post 对此做了很好的解释。简单来说,IE安全设置中的“检查发行商的证书吊销状态”选项一旦设置,.Net CLR会在启动任何托管代码之前连接crl.microsoft.com检查发行商证书。没有连外网的计算机此时就会遭遇一次连接超时。 这个问题的症状、原因和解决方法适用于包括diffmerge.exe在内的很多托管应用程序。 解决的方法: 1.  在IE中,将 工具->internet选项->高级->安全->“检查发行商的证书吊销状态”这一项取消  (默认是勾选的); 或者 2.  在本机的hosts文件中,将crl.microsoft.com指向127.0.0.1 (本机)。

1

Check for publisher’s certificate revocation slowing down diffmerge.exe

(Chinese Version)  A customer of mine reported that they experienced remarkable performance drawback in Team Explorer 2008 compared to Team Explorer 2005, when using the Team Explorer 2008 default compare feature in a closed network(with no access to the internet).  This can be easily reproduced: select a file in the source control view->view history->choose a…

1

关于 团队浏览器-&gt;文档 节点 排错的思路

(English Version)    用户可以通过 团队浏览器(以下简称TE)->TFS服务器名->团队项目名->文档 节点来读取和操作项目文档。这篇文章讨论1)项目文档树形结构是如何在TE中显示出来的,2)几种观察到的错误情形,以及 3)出现错误时如何排查的思路。   当用户登录到TE,或在团队项目节点上进行“刷新”操作时,TE做如下动作: 1.  TE调用一个WSS web service  http://<WSSServer:port>/sites/<project name>/_vti_bin/Lists.asmx, web method GetListItems。参数定义令WSS递归读取团队项目文档库根路径下所有文件/文件夹记录。调用方法使用的身份是当前使用TE的用户,而不是 TFS 服务用户。 2.  WSS web service 返回的响应是一个XML字符串,主要部分就是一个数据集,每条记录对应文档库中的一个文件或文件夹。记录包括一些描述该文件/文件夹的WSS属性。 3.  TE取XML数据集每条记录的ows_FileRef属性(文件/文件夹的路径)建立树形结构。对每个”\”结尾的记录,添加一个文件夹节点;对每个非”\”结尾的数据,按照路径添加到相应文件夹节点下。如路径为“\folderA\folderB\fileC.doc” 的项目,就添加到文件夹folderA 下的文件夹folderB下,命名为fileC.doc。这里的实现很直接。   现在来看几种出问题的情形。 l  “文档”节点标了个红叉,下面没有数据. 因为从WSS web service取数据的请求是使用当前用户身份发出的,因此如果当前用户没有访问该WSS文档库的权限,就没有数据返回。 这是TFS新用户经常提出的问题。 TFS中的项目团队和权限定义仅覆盖版本控制和任务项管理。为了让团队成员能够访问团队项目站点及文档库,项目经理需要在WSS站点中额外定义用户的访问权限。同样的,为了让项目成员可以访问到各种报表,项目经理还需要在reporting service站点定义相应权限。    另一个可能的原因是目标WSS服务当前(对本机)不可用。这两种情形使用web浏览器访问一下WSS站点就可以验证。 l  文档树出现错误。这种情况很少见。有一次用户报告说TE中的文档树是错误的。有一个文件夹丢失了,文件夹中的文档都被错误地放置在文档库根目录下面。检查WSS web method返回的数据,我们发现记录集中所有的文件\文件夹都在,唯独缺少丢失的文件夹对应的记录。这样TE在建立文档树的时候就没有生成该文件夹节点。文件夹下的文档无处可放,就直接放在了根路径下。最终原因是WSS数据库中该文件夹对应的记录不知何故丢失了。补足这一记录,问题就解决了。 顺便说一句,最初看起来确实像是TE出了问题。WSS数据库记录丢失的情况下,WSS自己的站点似乎知道如何处理。WSS站点中相应的文件和文件夹都显示在正确的位置。 l  一些文件/文件夹从文档树中丢失了. 您的WSS文档库是不是存放了超过一万条记录呢?TE向WSS请求数据时,参数“RowLimit” 设定为 10,000。因此文档树最多显示一万条记录(包括文件和文件夹)。TE2005和2008中这个数量无法通过配置进行修改,将来的版本或许会提高限额。如果您的文档库超过一万条记录,那么不要从TE看文档了,还是用WSS站点吧。   当到TE->文档 节点出现错误的时候, 建议按照如下顺序排错:…

5

Troubleshooting Team Explorer -&gt;Documents node problems

(Chinese version of this post)  One can read & operate the documents from the Team Explorer->TFS Server Name->Team Project Name->documents node. In this post I briefly talk about how the document hierarchy is displayed in the tree view, some observed failing senarioes, and ideas of troubleshooting the documents node.   When one logon to Team…

2