TFS 最佳实践之一,Solution 之间不共享Projects

2013/11/27 10:02
阅读数 231

First, don't use multiple Team Project, this is a huge mistake that everybody make at the beginning. For the size of your team and what you develop: one Team Project is what you need. 第一,不要使用多个团队项目,这是每个人都在开始时做出的一个巨大的错误。为您的团队和您的开发的大小: 一个团队项目就是你的需要。 You use two Team Projects when there are two teams of completely different people, working on a completely different project, with a completely different methodology/process. 当有两队完全不同的人,在一个完全不同的项目,以一个完全不同的方法过程上工作时,您使用两个团队项目。 With one Team Project you can still: 与一个团队项目您仍然可以: •Have many branches (related or not). 责任心许多分支 (或不相关)。 •Have the administration of Source Control at the tiniest level you need 你需要责任心最小一级的源控制的管理 •Split your project into sub categories (functional, technical, whatever you need) using the Area Path (which is a node tree) of Work Item. This way you can have one big product backlog or dedicated ones. •Split 成子类别项目 (功能、 技术、 无论你需要) 使用区域路径 (这是节点树) 的工作项。这种方式你可以有一个大产品积压或专用的。 •Overall reports on your whole project or on specific area (still using Area Path, but in Reporting Services) •Overall 报告您的整个项目或特定领域 (仍在使用的区域路径,但在报告服务) •Trust me on that, it's the best way to go and many many people (including me the first time) make the mistake to use multiple Team Project and have to paid the price thereafter. What you need is a good Source Control hierarchical structure and a good Area Path tree. 我在那,这是最好的方式去的 •Trust 和许多许多人 (包括我第一次) 犯错误使用多个团队项目,要尔后付出了代价。你需要的是良好的源代码管理层次结构和良好的区域路径树。 Concerning Solutions: 关于解决办法: Having one solution per main component of your project is not a bad thing, developers can work on a dedicated subset of the project, to maximize the productivity and reduce the coupling between components. 都有每个项目的主要组件的一个解决方案不是一件坏事,开发人员可以工作的项目,以最大化的生产力和减少组件之间的耦合专用子集。 But you still can have one global solution that reference all your projects and that will be use whenever you need to make changes that impact all your project. Having a global solution is also an easy way to build your whole project painlessly. 但你仍然可以有一个全球解决方案,引用您的所有项目,这将使用每当你需要进行影响您对所有项目的更改。有一个全球的解决方案也是轻松能轻松地建立您的整个项目。 The issue here is about cross component references, if one component you develop (e.g. Application1) needs another component you develop (e.g. OurCompanyLibrary) then it creates a dependency between both and Application1 must reference "built assemblies" of OurCompanyLibrary. 这里的问题是关于交叉引用组件,如果您开发 (例如应用 1) 的一个组件需要您开发 (例如 OurCompanyLibrary),然后它创建两个之间的依赖项和应用 1 必须引用"生成程序集"OurCompanyLibrary 的另一个组件。 Which implies either: 这意味着要么: 1.You must create a location somewhere in your source control to store the built assemblies of all the components that will be referenced by others. Maintain a Build Cycle to release everything respecting the right order. 1.你必须在您的源代码管理存储生成的程序集将由其他人引用的所有组件的某个地方创建一个位置。保持一个生成时钟周期来释放一切尊重按正确的顺序。 2.Take advantage of the new standard which is Nuget and setup an in-house Nuget server (very easy to do) and build your own Nuget packages for the components that will be referenced by others. 2.利用到内部的 Nuget 服务器 (很容易做到) 和生成您自己的 Nuget 包将由其他人引用的组件是 Nuget 和安装程序的新标准。 3.The easiest way to go is including all your dependencies developed in-house in the solution to make sure they are built when needed. It's easy to do but your Application1 project will include most of your VS Projects. I don't say it a good or bad way to go, it's your call. Sometime the easy way is the best one. 3.最简单的方法去包括所有内部开发的解决方案,以确保它们建立在需要时在您的依赖性。很容易做,但您的应用 1 项目将包括您的大多数 VS 项目。我没说好或坏的路要走,这是你的电话。有时简单的方法是最好的一个。 Each way has its own pros/cons, and only you can decide which one is the best to go. 每种方法有其自身的优缺点和只有你才能决定哪一个是最好去。

展开阅读全文
TFS
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部