一天六杯水

Mango的.Net家园
随笔 - 10, 评论 - 19, 引用 - 0

导航

关于





王兴明 Mango
微软最有价值专家(MVP)
微软金牌认证讲师(MCT)

此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论,对其完全的正确不做任何担保或假设。所有此处的原创文章转载必须知会作者本人。如有疑问,请发邮件至: wmango#hotmail.com

标签

每月存档

最新留言

广告

2007年08月02日

VS2008 Beta2的菜单与VS2005相比有了不少改进,最大的变化菜单功能与工作角色相关。

在Data下面是与数据专家相关的功能。比如:比较schema,比较数据,refactor,T-sql editor...

image

在Developer下是与开发相关的功能。比如测能测试,代码分析,code metrics..

image

下面两个是以前有的。

在Test下是与测试相关的功能。比如新建测试,测试列表,管理test Rig,测试配置等。

image

在Diagram下是与架构设计相关的功能。比如生成代码,添应用、endpoint、设置与约束等

image

posted on 2007-08-02 20:25:00 by mango  评论(2) 阅读(6430)

 
2007年05月26日

SnagIt’s output for Team System lets you add screen captures to new or existing bugs with a single click. Stop trying to describe problems with tons of text – just show them. Plus, eliminate the hassle of attaching images!

How will I use this?
  • Use images to give in-depth explanation of bugs or tasks.
  • Save time by adding screen captures to existing work items.
  • Use screen captures to illustrate design ideas.

see more:http://www.techsmith.com/snagit/accessories/teamsystem.asp

posted on 2007-05-26 23:15:00 by mango  评论(6) 阅读(5312)

 
2007年02月26日

在VS2005里有源代码切换的设置,但在VS2003里没有。VS2003的源代管理器的配置依赖于注册表中的一条记录。
[HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider]
"Microsoft Team Foundation Server MSSCCI Provider"="SOFTWARE\\Microsoft\\Team Foundation Server MSSCCI Provider"
"ProviderRegKey"="SOFTWARE\\Microsoft\\Team Foundation Server MSSCCI Provider"
[HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders]
"Microsoft Team Foundation Server MSSCCI Provider"="SOFTWARE\\Microsoft\\Team Foundation Server MSSCCI Provider"
"Microsoft Visual SourceSafe"="Software\\Microsoft\\SourceSafe"
当providerRegkey指到msscci时,就用TFS,指向VSS时就用的VSS。
网上有一个小工具SCPSelector.exe可以很方便地做providerRegkey切换,不用每次改注册表。每次切换过后要重启一下VS2003。

posted on 2007-02-26 18:46:00 by mango  评论(1) 阅读(5874)

 
2006年12月01日

使用 ChangePassword 更改所有服务帐户的密码,指令如下:

TFSAdminUtil ChangePassword oldacct oldpwd newpwd [target]

参数说明

oldacct :指定旧帐户名。

oldpwd :指定旧密码。

newpwd :指定新帐户密码。

target :指定目标计算机。如果省略 target,则使用本地计算机。目标计算机必须为应用层服务器。

ChangePassword 命令由要更改服务帐户(例如,域\服务器名)密码的管理员使用。管理员更改域帐户上的密码,然后运行该工具,使用新密码更新所有的 Team Foundation 服务器。

ChangePassword 做了些什么呢?如果不用它怎样改服务帐户的密码?请往下看:

TFS运行时会用于两个服务账号,一个是TFSService运行账号(比如TfsService)、一个是报表服务器用来访问TFS数据账号(比如:TfsReports)。如果这两个账号的密码发生改变,须要对TFS服务进行重新配置,具体步骤如下:

1. 在IIS中修改下列应用程序池的运行账号TfsService的口令:

    a) TFS App Pool

    b) TFS Wss Pool

    c) TFS WssAdmin pool

2. 在windows服务中,修改下列服务的运行账号TfsService的口令:

    a) Code Coverage analysis Service

    b) Sharepoint Timer Service

    c) TFSServerScheduler Service

3. 在Reporting Service中修改下列数据源登陆账号TfsReports的口令:

    a) TFSOLAPResportDS

    b) TFSReportDS

重启机器或重启相应服务后,TFS就能正常工作了。

posted on 2006-12-01 23:25:00 by mango  评论(6) 阅读(7210)

 

使用 RenameDT 更改 Team Foundation Server 数据层服务器名称,指命如下:

TFSAdminUtil   RenameDT  servername

Team Foundation Server 应用层需要知道数据层服务器的确切名称或地址,才能到达它。数据层名称和地址通过 Team Foundation Server 存储在应用层和数据层数据库的多个位置。当需要切换到新的数据层时,管理员必须确保 Team Foundation Server 指向新的数据层名称或地址。

TFSAdminUtil 命令行实用工具的 RenameDT 命令通过更新 Team Foundation Server 指向新的名称或地址,以实现数据层重命名过程的自动化。RenameDT 命令还可以通过脚本实现数据层重命名过程自动或定期进行。

RenameDT 命令只能运行于应用层上,因为它会在运行所在的计算机上搜索 web.config 文件。它既没有远程处理能力,也不会使用任何其他参数来指定目标应用层计算机。与ActivateAT一样,一个数据层只能对应一个活动的应用层,所以RenameDT指令还要修改数据库中的关于数据库的记录,很不幸的是,在TFS V1.0这里有一个bug,RenameDT不会改数据库中的记录,需要你手工改一下在ingetarted数据库中的tbl_database表中的数据。这个bug将在SP1中修复。

下面是TFS说明中的RenameDT使用情形

管理员可以在多种情形下使用 RenameDT 命令。下面列出了这些示例情形:

  • 管理员需要在数据层上执行例程维护,使数据层脱机并将它替换为其他临时数据层以避免出现停机。
  • 管理员运行 TFSAdminUtil 命令行实用工具的 RenameDT 命令,这样 Team Foundation Server 即可连接到新的临时数据层。完成维护时,管理员再次运行该实用工具以恢复使用以前的数据层。
  • 数据层出现故障并且不起作用。
  • 管理员运行 RenameDT 命令,将 Team Foundation Server 指向新的备份服务器。
  • 正在将数据层升级到新的服务器。
  • 管理员运行 RenameDT 命令,将 Team Foundation Server 指向新的数据层服务器。
  • 新操作策略表明数据层必须遵循的特定计算机命名标准。
  • 管理员使用 RenameDT 命令,将数据层重命名为更合适的名称。
  • 组织或业务规模扩大,需要从单服务器解决方案迁移到双服务器解决方案。
  • 新的独立数据层设置完毕后,管理员运行 RenameDT 命令,将 Team Foundation Server 指向新的服务器。

posted on 2006-12-01 23:18:00 by mango  评论(3) 阅读(6844)

 
2006年11月21日

本文适用场景:

    TFS服务器从一个域迁到别一个域中,这里包括服务器加入新域、服务运行账号改为新域的中账号,机器名称不改变。本文在TFS单机部署场景测试通过。

迁移步骤:

  1. 停止服务器上的TFS服务。

    a) 在IIS上停上TFS App Pool和Report Server Pool。

    b) 停止Reporting Service服务。

2. 将服务器加入新的域。

3. 修改服务账号。

    a) 检查新账号的权根是否足够。

    b) 将新账号设为以服务方式登陆。

    c) 修改TFS Service账号

        TfsAdminiUtil ChangeAccount OldAccount NewAccount Password

    d) 修改TFS Reports账号

        TfsAdminiUtil ChangeAccount OldAccount NewAccount Password

4. 修改Reporting Service的数据连接配置,将连接账号改为新域中的账号。

5. 在IIS上启动TFS App Pool和Report Server Pool,并进行测试

    a) TfsAdminiUtil status检查服务账号工作情况

    b) 使用VS2005进行测试。

posted on 2006-11-21 21:36:00 by mango  评论(0) 阅读(6123)

 

在TFS双机热备的方案中,我们会用ActivateAt来做主应用服务器与备用服务器之间切换。那ActivateAt在这个过程中到底做了什么呢?

在TFS1.0版本里,一个应用服务器只能连一个数据库服务器,一个数据库服务器也只能连一个应用服务器。

在应用服务器的上的web.config文件有连接到数据服务器的连接字串,从而保证了应用服务器只会连到指定的数据库。如果要修改这个连接,可以使用RenameDT来完成。

那如果保证一个数据库只有一个应用服务器来连呢?一般来说数据库是只检查访问者的身份与权限,少有检查是哪个应用和机器发来的请求(应用程序角色除外)。TFS数据库连接也只检查来访者是否有权限访问数据,但在其数据中记录了合法访问的应用层的信息,这些信息分散在不同的表中,ActivateAt就是用来修改、同步这些信息的。

简单地说,ActivateAt做了四件事:

  1. 修改了TFSIntegration数据库中tbl_subcription表中的address列,将其改为新的应用服务器名称。

  2. 修改了TFSIntegration数据库中tbl_service_interface表,将以下属性绑定到新的应用服务器:

    a) WssAdminService

    b) BaseServerUrl

    c) BaseSiteUrl

    d) BaseSiteUnc

    e) ReportsService

    f) BaseReportUrl

    g) DataSourceServer

  3. 修改了TFSIntegration数据库中tbl_registration_extended_attributes表,将以下属性绑定到新的应用服务器:

    a) ATMachineName

    b) ATNetBIOSName

    在双服务器热待机方案中,ATMachineName总是指向A记录,但ATNetBIOSName却是指向正在使用应用服务器的机器名。所以,虽然备机也一直开着,服务也正常运行,但我们用VS2005去连接是总是报错。

  4. 重启IIS。

因为有ActivateAT这个工具,我们可以很方便地从一个应用服务器切到另一台备用的应用服务器,从而实现了TFS的高可用性。

posted on 2006-11-21 21:14:00 by mango  评论(2) 阅读(5701)

 
2006年11月15日

在VS2005里有两个关于源代码的选项,对刚刚使用VSTS作源代码管理的开发员很有帮助。具体位置:Tools\Options,如下图所示。

1. Check in Everything When closing a solution or project.

在关闭项目时会提示你CheckIn项目中未CheckIn的项目。如果你不想CheckIn,比如就是要重启一下VS2005,按取消就可以了。当项目文件比较多时(通常都是这样),能避免我们忘记CheckIn。

2. Editing : Prompt for Check out

有时,在一个文件上不小心按了一个回车,代码已经CheckOut了,这样的文件很容易忘记CheckIn。现在有一个选项,当你对文件内容有修改时,提示你CheckOut,这样就能区分是真要CheckOut,还是一个误操作,比如一个不经意的回车。

posted on 2006-11-15 20:26:00 by mango  评论(8) 阅读(8083)

 
2006年11月13日

公司里的TFS的数据库出了一点问题,需将数据库恢复到之前的一个备份。恢复完了CheckIn本地的的更新,工作一切正常。但其它人从TFS上获得最新版本时却报文件的版本不对(比如某个sln文件),在本地workspace中用notepad打开发现,本来应当是一个XML文件,现在却成一个C#代码,而且是另一个team project的文件。随后所有人的机器上都有这个错,我的机子上也是。本以为是强制添加新文件造成数据库中File表中的content与Version表中的fullpath对应关系错误造成的,于是又一次恢复了数据库,本地好似一切正常,但在别人机器上错误又出现了。

一边先让项目给能正常工作,一边向GTSC写信,到下午时终于有了一些进展。TFS为了提高Versioncontrol Web service的性能,将已读出的文件在Web Server上进行了缓存,文件大多用zip进行压缩后放在Data目录中,下次有客户取最新版本就不用从Versioncontrol中读的了,而是从WebServer上直接读的。在TFS1.0里,一个数据库层只有一个应用层,正常情况下也相安无事。但如果直接对数据层进行操作,比如数据库恢复之类,那Web上的缓存与数据库中的就不一样了,所以就出现了文件名与文件内容不一致的情况。

删除Data目录下的所有文件夹后一切正常,可恶的缓存,让我白忙一天。

另有几件事,第一、删除缓存后最一次取最新版本,那个慢啊,本对缓存的一堆不满在慢慢等待中一点、一点、一点点地化解了,没他还真不行!第二、删之前我看一下Data目录,200M多,15000个文件,想能不能对他进行管理,查了一下资料,列在下面,希望对大家有所帮助。第三、如果你用了proxy,那proxy上的缓存也要一并删除。

Versioncontrol Web service中?Web.Config的设置如下:
fileCacheRoot:此设置是一个字符串,它描述作为版本控制服务器文件缓存根目录的目录路径。
CacheLimitPercent:此设置是一个数值,它表示可用于缓存的磁盘空间百分比。
CacheLimit:此设置是一个数值,它表示缓存的大小限制(以 MB 为单位)。
CacheDeletionPercent:此设置是一个数值,它表示达到缓存限制时将清空的缓存百分比。
LastWriteTimeUpdateWindow:此设置指示更新缓存中文件的 LastWriteTime 属性的时间间隔(以小时为单位)。此设置阻止对每个缓存命中请求的 LastWriteTime 更新,而仅在 LastWriteTimeUpdateWindow 中指定的持续时间到期后进行更新。此设置的默认值为 8 小时,设置范围为 1 到 24 小时之间。
StatisticsPersistTime:此元素指示应将统计信息写入磁盘的频率(以小时为单位)。默认值为 1 小时,设置范围为 1 到 24 小时之间。

posted on 2006-11-13 20:19:00 by mango  评论(7) 阅读(6293)

 

如果在安装TFS之前,有安装过TFS或本机装有VS2005具连接过其它TFS,在安装时可以出现有8100错误:TFS setup error: 28100 Error Loading Event web Service.

解决方法:在注册表中删除:HK_Current_User/software/microsoft/visualstudio/8.0/Teamfoundation/servers.
这里存放的是已连接TFS的记录。

posted on 2006-11-13 09:13:00 by mango  评论(2) 阅读(5784)

 

Powered by: Joycode.MVC引擎 0.5.2.0