一:锁定(Lock) string tpcURL = "http://192.168.83.62:8080/"; TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(tpcURL)); VersionControlServer version = tpc.GetService(typeof(VersionControlServer)) as VersionControlServer; version.N…
TFS二次开发11——标签(Label) TFS二次开发10——分组(Group)和成员(Member) TFS二次开发09——查看文件历史(QueryHistory) TFS二次开发08——分支(Branch)和合并(Merge) TFS二次开发07——锁定(Lock)和解锁(UnLock) TFS二次开发06——签入(CheckIn) TFS二次开发05——下载文件(DownloadFile) TFS二次开发04——工作区(Workspace)和映射(Mapping) TFS二次开发03——…
TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一个实例 TFS二次开发系列:四.TFS二次开发WorkItem添加和修改.保存 TFS二次开发系列:五.工作项查询 TFS二次开发系列:六.TFS的版本控制 C#知识总结 C#中Hashtable.Dictionary详解以及写入和读取对比 C#中IDisposable和IEnumerable.IEnumerator C#中Delegate和Even…
TFS二次开发.C#知识点.SQL知识总结目录   TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一个实例 TFS二次开发系列:四.TFS二次开发WorkItem添加和修改.保存 TFS二次开发系列:五.工作项查询 TFS二次开发系列:六.TFS的版本控制 C#知识总结 C#中Hashtable.Dictionary详解以及写入和读取对比 C#中IDisposable和IEnumerable.IE…
首先我们需要认识TFS二次开发的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS API服务类.他们的区别如下: 服务 TfsConfigurationServer (服务器级别) TfsTeamProjectCollection (集合级别) ITeamFoundationRegistry IIdentityManagementService ITeamFoundationJo…
在TFS二次开发中,我们可能会根据某一些情况对各个项目的PBI.BUG等工作项进行统计.在本文中将大略讲解如果进行这些数据统计. 一:连接TFS服务器,并且得到之后需要使用到的类方法. /// <summary> /// tfs的 /// </summary> private TfsTeamProjectCollection server; private WorkItemStore workstore; private TeamSettingsConfigurationServi…
TFS二次开发的数据统计以PBI.Bug.Sprint等为例(一) 在TFS二次开发中,我们可能会根据某一些情况对各个项目的PBI.BUG等工作项进行统计.在本文中将大略讲解如果进行这些数据统计. 一:连接TFS服务器,并且得到之后需要使用到的类方法. /// <summary> /// tfs的 /// </summary> private TfsTeamProjectCollection server; private WorkItemStore workstore; priv…
在上一篇<TFS二次开发01——TeamProjectsPicher>介绍了  TeamProjectsPicher 对象,使用该对象可以很简单的实现连接TFS. 但是如果我们要实现自定义的UI客户端 或者我们要做一个非WinForm版的TFS客户端(比如Web 或者WPF),那么TeamProjectsPicher 对象就无能为力了.那我们就只能自己实现了. 这篇文章主要介绍: 1:连接TFS Server 2:获取所有TfsTeamProjectCollection 3:获取某个TfsTe…
  在上一节中,我们在保存标签之前,已经将勾选的文件路径保存到了Listbox中,这里只需要将保存的数据输出去为txt文档就可以做版本控制了.   版本文件比较复杂的是如何读取,也就是如何通过文件路径再次读取出一棵树. 这里我主要写一些思路和代码 存取的文件我们要将其读出后,存入一个List中. 通过文件路径,返回此文件的父级路径. 如$/test2-agile/BuildProcessTemplates/LabDefaultTemplate.xaml 应该获取的路径为 $/test2-agil…
关于 ReentrantLock 中锁 lock() 和解锁 unlock() 的底层原理浅析 如下代码,当我们在使用 ReentrantLock 进行加锁和解锁时,底层到底是如何帮助我们进行控制的啦? static Lock lock = new ReentrantLock(); public static void main(String[] args) { // 使用两个线程模拟多线程执行并发 new Thread(() -> doBusiness(), "Thread-1"…
本节将讲述如何查询工作项,用于二次开发中定义获取工作项列表. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from workitems where [工作项类型]='任务' and [指派给] = 'administrator' order by [标题] 我们通过多个步骤来学习,一.我们连接TFS服务: //TFSURI Uri tfsUri = new Uri("http://pc-20130113jkun:8080/…
WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1.首先获得某服务器的WorkItemStore. WorkItemStore workstore = server.GetService<WorkItemStore>(); 2.然后通过对上面WorkItemStore获得Project项目. Project project = workstore.Projects["Calueng"];…
本系列的实例将采用TFS 2012+Sql Server2012编写. TFS的完整版本安装最好是在Windows server2008 64位以上版本中,其包括64位的SQL SERVER 2012,SharePoint 2012,Team Foundation Server 2012和Sql Server Reporting Services. 在Windows 7 版本中安装的为非完全版本的.本系列将采用Windows 7中安装进行二次开发.不包括SharePoint组件. 在安装过程中注…
作为TFS的二次开发,首先要做的第一件工作是怎样连接到TFS并选择我们要下载的项目. 本文就此介绍一下使用TeamProjectsPicher 连接到TFS服务器. 添加引用 Microsoft.TeamFoundation和Microsoft.TeamFoundation.Client 添加命名空间 using Microsoft.TeamFoundation.Client; using Microsoft.TeamFoundation.Server; 代码如下: TeamProjectPic…
CMMI在做基线文件管理的时候,常常是需要记录一部分基线文件的版本.并且这个基线文件记录也需要进行版本控制.TFS在做这件事的时候一般来说会选用标签(Lable)来做一系列文件的版本记录. 但是我发现TFS并不能选取某几个文件进行版本记录(实际上是可以的,但是很麻烦,需要建立Lable后再修改). 于是,我们可以将项目文件以树形结构读出,然后选取需要做基线控制的几个文件.将其版本和路径保存到文件中,并且只为这几个文件建立Lable. 这个文件可以放入到TFS中做版本控制,今后也可以读出再做修改,…
TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的平台工具. TFS的分为客户端层.应用层.数据层. 他们的数据模型流转如下图:        客户端层分为架构师客户端.开发人员客户端.测试人员客户端等. 应用层分为:版本控制.团队生成.团队站点(SharePoint).工作项跟踪.团队报告(Sql Server Reporting Service…
一个Item 就是一个文件或文件夹 using Microsoft.TeamFoundation.Client; using Microsoft.TeamFoundation.VersionControl.Client; 一:添加Item //连接到TFS服务器 string tpcURL = "http://127.0.0.1:8080/tfs/"; TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri…
前面介绍了怎样读取TFS上目录和文件的信息,怎么建立服务器和本地的映射(Mapping). 本节介绍怎样把TFS服务器上的文件下载到本地. 下载文件可以有两种方式: using Microsoft.TeamFoundation.VersionControl.Client; using Microsoft.TeamFoundation.Client; 方式一:使用VersionControlServer对象,如: string tpcURL = "http://192.168.83.62:8080…
在前面几节介绍了怎样读取TFS服务器上的项目以及文件的信息,这一节将介绍怎么建立服务器和本地的映射(Mapping). 引用命名空间 usingMicrosoft.TeamFoundation.Client; using Microsoft.TeamFoundation.VersionControl.Client; 一:Workspace 工作区 是服务器的文件.目录在客户端的映像.当用户对源代码管理中的目标进行增加.编辑.删除.移动.重命名,或者其他操作时,用户的修改会保留在工作空间中,标记为…
上一篇文章我们编写了此例的DTO层,本文将数据访问层封装为逻辑层,提供给界面使用. 1.获取TFS Dto实例,并且可以获取项目集合,以及单独获取某个项目实体 public static TFSServerBll Instance = new TFSServerBll(); public TFSServerDto dto; public TFSServerBll() { dto = new TFSServerDto("http://server:8080/tfs/Project/");…
在TFS中对于版本控制是在WorkSpace工作区来控制的. 首先我们先整理WorkSpace的一些基本使用方法. CheckIn:迁入挂起的操作 CreateMapping:创建一个本地映射地址 Delete:删除工作区 GetPendingChanges:获取挂起的工作区 Merge:合并工作项 PendAdd:排队文件或一个文件夹添加到版本控制储存库 PendBranch:计划一个文件或文件夹的分支 PendDelete:队列删除文件或文件夹的从版本控制储存库 PendEdit:编辑签出文…
参考地址:https://msdn.microsoft.com/en-us/library/bb130306(v=vs.120).aspx You can query for bugs, tasks, other types of work items, and links between work items by using one of the WorkItemStore.Query methods or a Query object. These queries use the work…
TFS SDK 10 ——分组(Group)和成员(Member) 这篇来介绍怎样读取TFS服务器上的用户信息 首先TFS默认有如下分组(Group): SharePoint Web Application Services Team Foundation Administrators Team Foundation Proxy Service Accounts Team Foundation Service Accounts Team Foundation Valid Users Work I…
一:创建分支   private static void BranchFile(Workspace workspace, String newFilename) { String branchedFilename = Path.Combine(Path.GetDirectoryName(newFilename), Path.GetFileNameWithoutExtension(newFilename)) + "-branch" + Path.GetExtension(newFilen…
TFS登录成功后,就可以开始读取源码目录树了. 一般来说,我不建议将整个树全部读取出来,因为这里不光存有项目文件,还有项目源码.如果全部读取出会是非常大的一棵树.因此我建议只读出根目录,每一次点击打开一级子目录.这样找到自己需要选取的文件即可. 上一节中,我们已经登录完成. //获取选择的项目名称,这里是单项目,一次取pi[0]的名称 pi = tpp.SelectedProjects; ProjectURL = pi[].Name; VersionControlServer version =…
首先需要做一个TFS的登录. 以前的文章是使用的DomainProjectPicker 最新的VS里面使用的是TeamProjectPicker 首先可以在WinForm程序上写一个Button,然后写入如下代码 Uri tfsUri = new Uri("your TFS"); TfsTeamProjectCollection server = new TfsTeamProjectCollection(tfsUri); TeamProjectPicker tpp = new Team…
下图是在VS2010里创建Label的界面 可以看出创建Label 需要如下参数:Name.Comment.Path.Version .下面是代码实现: using Microsoft.TeamFoundation.Client; using Microsoft.TeamFoundation.VersionControl.Client; string tpcURL = "http://127.0.0.1:8080/"; TfsTeamProjectCollection tpc = ne…
这篇文章给大家展示怎样获取一个文件的历史版本,内容很简单,直接上代码了. string tpcURL = "http://127.0.0.1:8080/"; TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(newUri(tpcURL)); VersionControlServer version = tpc.GetService(typeof(VersionControlServer)) as VersionCon…
上一节已经完成了源码文件的读取,如果要将已经选择的文件保存为一个标签(Lable).在VS我们只能对一个目录做标签,非常的不方便.如果用下面的方法,将选择的文件路径保存为一个List在打标签,就非常的灵活了. 保存为List的方法很简单,需要递归将已经选择的书中的文件保存一下. 这里为了显示方便,我先将其存入一个Listbox中, listBox1.Items.Clear(); ; i < treeView1.Nodes.Count; i++) { TreeNode node = treeVie…
2015-03-02 更新文章,由于需求修改,更改了flexpaper插件,故增加第9.10.11小节,下载代码时请注意. 先废话几句.最近用到文档在线浏览功能,之前用的是print2flash(一个工具,文档直接转flash,自带翻页搜索等一系列功能),由于无法与js进行交互,所以改用flexpaper. 由于之前没接触过Flex,了解不多,所以文章难免有不合适的地方.希望各位给予指正. 首先感谢ajava.org的mark,一系列文章有很多的帮助,少走很多弯路. 开发工具:1.Adobe F…