添加 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 - 子模块脏 - Visual Studio项目文件
git submodule add子模块的添加,--recurse-submodules递归克隆子项目