将Git子模块添加为现有解决方案在VS中的引用

13

假设我有一个子模块仓库:

_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个回答

22

对于那些感兴趣的人:

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

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

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

P.S.
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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接