13

Lets say I have a submodule repo:

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

And two projects which need DbModel as reference library:

_git/TTT
_git/TPM

I've already added DbModel as submodule via GitBash to both of them

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

And my local repos now look like this:

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

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

My Team Explorer shows two different solutions which are available now and I can switch between them easily.

But. Maybe this is a kinda newbie question...

I don't know how to add DbModel solution as reference to TPM and TTT! When I click "Add Reference" -> "Browse" in VS I can only add ".dll, .tlb, .olb, .ocx, .exe, .manifest" as "reference files.

How is it supposed to work? Should I compile sub module solution every time and add .dll as reference? I need source code to be added.

TarHalda
  • 1,050
  • 1
  • 9
  • 27
Szer
  • 3,426
  • 3
  • 16
  • 36

1 Answers1

22

For those who will be interested in this:

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

and then add existing project in your solution from newly created folder. Like that:

 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)
Szer
  • 3,426
  • 3
  • 16
  • 36