visual-studio-2010 - 如何设置我的 git 存储库以便能够轻松地在 Visual Studio 中重用项目

标签 visual-studio-2010 git visual-studio

最好用一个例子来描述我的问题。

假设我有一个项目“A”。

我还有一个依赖于“A”的项目“B”。

另一个项目“C”也依赖于“A”。

我的“主要”项目依赖于“B”和“C”。也可能是它也直接依赖于“A”。

看起来有点像 "dreaded diamond of inheritance"当“主要”==“D”

dreaded diamond of inheritance

这些是我的要求:

  • 我希望能够在“main”的解决方案中编辑项目“A”、“B”和“C”的内容并提交更改(即我不想只包括DLL 还有代码)。但是由于“B”和“C”都依赖于“A”,因此应该强制它们引用相同的提交。

  • 项目“A”、“B”和“C”很可能也会被其他项目引用,因此我不能承担项目“main”的工作目录的所有权。

    <
  • 还应该可以将每个项目的存储库与外部存储库同步。

  • 项目“A”、“B”、“C”和“main”应该是

我需要如何设置我的存储库才能完成此操作?

最佳答案

不要(ab)为此使用 git 或任何版本控制系统。

使用 NuGet .

您不想直接包含其他项目。相反,将每个依赖项打包到一个 .nuget 包中,并将其用于依赖项处理。虽然子模块似乎是解决问题的方法,但实际上,您最好使用适当的依赖管理,而不是仅仅包含其他项目。

TeamCity和其他 CI 系统,甚至 TFS,允许您自动构建新的 nuget 包,TeamCity 也可以充当 nuget 服务器。

如果您不想使用“真正的”NuGet 服务器,您也可以只使用 Intranet 上某处的共享驱动器。

关于visual-studio-2010 - 如何设置我的 git 存储库以便能够轻松地在 Visual Studio 中重用项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19682007/

相关文章:

C++ 链接到 visual studio 2010 中的另一个项目

visual-studio-2010 - 在VS 2010创建的安装程序上不断弹出Visual C++ 2010运行时库的先决条件

c# - 过时的意思

c# - 从程序文件访问时文件访问被拒绝

git - 如何使用 Ansible git 模块 pull 带有本地更改的分支?

visual-studio - Visual Studio 制作

git - "check out code"在行尾的 git 文档中意味着什么?

git - 如何检测文本中的 Git SHA ID

visual-studio-2010 - NuGet 没有丢失包

c++ - 如果文件足够大,std::fread 应该成功吗?