我在TFS中有两个C#项目,我想将它们添加到另一个解决方案中(也就是在TFS中),如何做到这一点?
试图检查这些项目并打开目标解决方案>点击"添加" > "现有项目"但VS并不认识这些项目,因为它们属于源代码管理。
我现在需要的是: 1)获取已在Source控件中的2个项目的副本 2)将它们添加到我的解决方案中 3)对这些项目进行更改 4)签到更改而不影响原始版本
答案 0 :(得分:1)
让我们将您的两个项目称为framework
。您应该分支您的框架,然后将您的新解决方案链接到适当的分支。
在Visual Studio的团队资源管理器中,浏览您的代码集
然后右键单击您的框架源根文件夹并选择“分支”。
然后检查你的新分支。
分支代码基本上是框架源代码的完整副本。但是这个副本在逻辑上与原始副本相关联(对于TFS系统)。更改分支时,原始文件中不会更改任何内容,但如果愿意,可以合并选定的变更集。
如何构建TFS集合有很多可能性。我的建议是将您的主要开发框架代码保存在Trunk
文件夹中,并在同一级别拥有包含其中所有版本的Branches
文件夹。在上面的图片中,只有一个分支(根据我的项目的发布版本命名,如果需要,可以进行热修复,但这只是一个例子)。
然后,如果您希望从分支到主干,您可以合并更改(没有义务,只是为了避免手动错误的代码复制)。
答案 1 :(得分:1)
在不同解决方案之间共享代码是一种应该避免的模式。
如果您在多个解决方案中需要两个项目,则应该独立构建和版本化。
1)将两个项目拆分为新的解决方案和文件夹结构。 2)构建和版本两个共享程序集 3)将两个程序集打包为Nuget包并存储在网络共享或ProGet服务器上 4)更改其他两个解决方案的引用以使用新的Nuget包 5)创建自动构建以在更改代码时刷新Nuget包。
然后,您有一个共享组件,您可以进行有意更改并部署到您的共享位置。每个采用依赖关系的解决方案都会在代码更改时通知您。
答案 2 :(得分:-1)
如果你想拥有两个独立的项目副本,那么Askolein解决方案是你最好的选择。 但是,如果你想从许多不同的解决方案中引用相同的项目,那么我认为以下内容应该有效(你已经列出了一些):