添加 git 子模块作为对 VS 中现有解决方案的引用

Posted

技术标签:

【中文标题】添加 git 子模块作为对 VS 中现有解决方案的引用【英文标题】:Add git submodule as reference to existing solution in VS 【发布时间】:2015-02-02 08:53:33 【问题描述】:

假设我有子模块回购:

_git/DbModel (only source code indexed. No /bin or /obj folders)

还有两个需要 DbModel 作为参考库的项目:

_git/TTT
_git/TPM

我已经通过 GitBash 将 DbModel 作为子模块添加到它们两个

 git submodule add https://RepoPath/_git/DbModel

我的本​​地仓库现在看起来像这样:

Source\Repos\TTT\TTT.sln
Source\Repos\TTT\DbModel\DbModel.sln

Source\Repos\TPM\TPM.sln
Source\Repos\TPM\DbModel\DbModel.sln

我的团队资源管理器显示了现在可用的两种不同的解决方案,我可以轻松地在它们之间切换。

但是。也许这是一个新手问题...

我不知道如何添加 DbModel 解决方案作为 TPM 和 TTT 的参考! 当我在 VS 中单击“添加参考”->“浏览”时,我只能将“.dll、.tlb、.olb、.ocx、.exe、.manifest”添加为“参考文件”。

它应该如何工作?我应该每次都编译子模块解决方案并添加.dll作为参考吗?我需要添加源代码。

【问题讨论】:

【参考方案1】:

对于那些对此感兴趣的人:

git submodule add https://RepoPath/_git/DbModel
git submodule init   //this is IMPORTANT
git submodule update

然后从新创建的文件夹中将现有项目添加到您的解决方案中。像这样:

 Source\Repos\TPM\DbModel\DbModel\DbModel.csproj

附:

Source\Repos\TPM\                  solution root folder (with main project sln file inside it)
Source\Repos\TPM\DbModel           submodule root folder (with submodule sln file)
Source\Repos\TPM\DbModel\DbModel   submodule project folder (with csproj file)

【讨论】:

以上是关于添加 git 子模块作为对 VS 中现有解决方案的引用的主要内容,如果未能解决你的问题,请参考以下文章

我可以开发一个节点模块作为 GIT 子模块吗

Git子模块添加:“在本地找到一个git目录”问题

Git - 子模块脏 - Visual Studio项目文件

git submodule add子模块的添加,--recurse-submodules递归克隆子项目

git submodule add子模块的添加,--recurse-submodules递归克隆子项目

git submodule add子模块的添加,--recurse-submodules递归克隆子项目