添加git子模块作为VS中现有解决方案的参考

Sze*_*zer 8 git projects-and-solutions visual-studio git-submodules

可以说我有子模块回购:

_git/DbModel (only source code indexed. No /bin or /obj folders)
Run Code Online (Sandbox Code Playgroud)

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

_git/TTT
_git/TPM
Run Code Online (Sandbox Code Playgroud)

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

 git submodule add https://RepoPath/_git/DbModel
Run Code Online (Sandbox Code Playgroud)

我的本地回购现在看起来像这样:

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

Source\Repos\TPM\TPM.sln
Source\Repos\TPM\DbModel\DbModel.sln
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

Sze*_*zer 12

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

git submodule add https://RepoPath/_git/DbModel
git submodule init   //this is IMPORTANT
git submodule update
Run Code Online (Sandbox Code Playgroud)

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

 Source\Repos\TPM\DbModel\DbModel\DbModel.csproj
Run Code Online (Sandbox Code Playgroud)

PS

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)
Run Code Online (Sandbox Code Playgroud)