title: Visual Studio cannot handle nested submodule as expected
body: <p>I am having 3 solutions which</p>
  
  <p><strong>Solutions</strong></p>
  
  <p>Solution A</p>
  
  <ul>
  <li><code>Project A1</code> is an extension project for System.Data.SqlClient classes (.NET Standard 2.0)</li>
  </ul>
  
  <p>Solution B</p>
  
  <ul>
  <li><code>Project B1</code> is a library used to manage some instances (.NET Standard 1.0)</li>
  <li><code>Project B2</code> is a library used to manage the instances with the extended System.Data.SqlClient through <code>Project A1</code> (.NET Standard 2.0)</li>
  </ul>
  
  <p>Solution C</p>
  
  <ul>
  <li><code>Project C1</code> is a library depends on <code>A1</code> and <code>B1</code> (.NET Standard 2.0)</li>
  <li><code>Project C2</code> is a NUnit Test depends on all project above (.NET Core 2.2)</li>
  </ul>
  
  <p><strong>File Structure</strong></p>
  
  <p>The Solutions/Projects are imported through Git submodules where the structure as below:</p>
  
  <pre><code>- \
  --- \Solution C
  ------ \Project C1
  ------ \submodules
  --------- \Solution A
  ------------ Project A1
  --------- \Solution B
  ------------ \Project B1
  ------------ \Project B2
  ------------ \submodules
  --------------- \Solution A
  ------------------ \Project A1
  </code></pre>
  
  <p><strong>Issue</strong></p>
  
  <p>While I use Visual Studio to open <code>Solution C</code> and compile the projects inside, the results are various: (<strong>note</strong>: I didn't include <code>\Solution C\submodules\Solution B\submodules\Solution A\Project A1</code> in the solution since VS not allow 2 projects with same name)</p>
  
  <ul>
  <li>Project A1: ok</li>
  <li>Project B1: ok</li>
  <li>Project B2: <em>not ok</em></li>
  <li>Project C1: ok</li>
  <li>Project C2: <em>not ok</em></li>
  </ul>
  
  <p>VS always said <code>Project B2</code> cannot find the <code>Project A1</code> (which path is <code>\Solution C\submodules\Solution B\submodules\Solution A\Project A1</code>), unless I right click on <code>Project A1</code> and select clean, then rebuild <code>Project B2</code> (clean is a must), below is the message:</p>
  
  <p><code>Error  NU1105  Unable to find project information for '\Solution C\submodules\Solution B\submodules\Solution A\Project A.csproj'. Inside Visual Studio, this may be because the project is unloaded or not part of current solution. Otherwise the project file may be invalid or missing targets required for restore.</code></p>
  
  <p>However I tried to clone only <code>Solution B</code> to a new position (with submodules <code>Solution A</code>) and it can be compile and run as expected.</p>
  
  <p><strong>Guesses</strong></p>
  
  <ul>
  <li>As suggested by @jessehouwing , this may be not a Git issue but Visual Studio, I guess it is due to VS is compiling the projects with 2 version of <code>Project A1</code> while I have already spent hours to ensure <code>Solution B</code> and <code>Solution C</code> loaded <code>Solution A</code> from the same branch and version.</li>
  </ul>
  
  <h2>Update</h2>
  
  <p><strong>Guids</strong></p>
  
  <ul>
  <li><code>Project A</code> of <code>Solution A</code>: FD9834ED-3C94-4445-AE15-DFF0F5C42656</li>
  <li><code>Project A</code> of <code>Solution A</code> with <code>Solution B</code>'s submodules folder: FD9834ED-3C94-4445-AE15-DFF0F5C42656</li>
  <li><code>Project A</code> of <code>Solution A</code>: <strong>E0FEC3C6-42AB-47D9-912A-40B3C5D2BA66</strong></li>
  <li><code>Project A</code> of <code>Solution C</code>: <strong>2A7E2981-87F6-40A5-86F4-D523EC1F68DB</strong></li>
  </ul>
  
  <hr>
  
  <p>Any help will be appreciated </p>