从源代码管理中删除项目而不删除解决方案的其余部分

Remove a project from source control without removing the rest of the solution

对比 2019/2017

我有一个由核心项目和一些测试项目组成的解决方案。

使用 Visual Studio 源代码控制工具,我只想将核心项目上传到远程仓库 - 有没有一种方法可以从源代码管理中删除测试项目,同时仍将它们保留在我的本地解决方案中?

您不能这样做,因为描述解决方案的 .sln 文件指向解决方案中的所有项目。如果某些项目不在源代码管理下,它将破坏 .sln 文件。

但有一些部分解决方案:

  1. 根本不要使用 .sln 文件。如果依赖项树的根叶是单个项目,你可以随时编译这个项目,它会编译它的依赖项。

  2. 管理两个解决方案。两个 .sln 个文件,一个用于所有项目,包含测试,一个不包含测试。

创建一个 .gitignore 文件并列出我们在将项目上传到远程存储库时要忽略的所有文件/文件夹。

此外,请参阅以下站点以了解更多信息:https://social.msdn.microsoft.com/Forums/vstudio/en-US/79040f47-b634-447c-bc13-1161e572ca9e/how-to-remove-a-solution-from-tfs-source-control-without-deleting-the-local-copy-of-source-files?forum=tfsgeneral