在Visual Studio中的多存储库中开发和调试项目

时间:2019-06-13 14:46:35

标签: c# visual-studio nuget nuget-package

这是我所遇到的问题的基础(当然,出于问题的考虑,它被简化了): 我在单色存储库中存储的解决方案中有2个项目:

  • Project1-输出一个库
  • Project2-输出可执行文件

当Project2引用Project1时。

我想移到多个存储库,其中Project1将存储在与Project2不同的存储库中。 Project1将输出一个nuget包,而Project2将引用它,而不是项目本身。

我面临的问题:在当前情况下(单一存储库),在开发过程中,我在 同样需要Project1更改的Project2也不成问题。如果有问题我可以发现 在开发期间。

以一种新的方式(多存储库),我首先需要对Project1进行更改,创建nuget并将其推送到nuget 存储,然后在Project2中更新引用。如果我在Project1中遇到问题,我必须回到Project1, 解决此问题并再次推送,更新Project2中的引用,依此类推。同样,失去调试的好处 两个项目。

此方法是否有解决方案?让我关注一个问题:如果我的开发机器上有两个项目的源代码, 是否有可能以某种方式指示Visual Studio使用源代码而不是引用的Nuget进行调试?

希望我的解释是正确的,而且要尽可能清楚...

1 个答案:

答案 0 :(得分:0)

如果您有两个不同的项目,并且它们都位于不同的存储库中,则可以将该库添加为第一个项目的子模块。我假设您正在使用git。您可以通过以下方式简单地做到这一点:

    git submodule add <link for the other repo>

在Visual Studio中,您只需将项目添加到相同的解决方案中,然后从可执行文件中引用库。我不确定这是否对您有用,但我希望它能起作用。