这是我遇到的问题的基础(当然,为了问题的缘故,它被过于简单化了): 我在存储在单一存储库中的解决方案中有 2 个项目:
- Project1 - 输出一个库
- Project2 - 输出可执行文件
当 Project2 引用 Project1 时。
我想移动到多存储库,其中 Project1 将存储在与 Project2 不同的存储库中。 Project1 将输出一个 nuget 包,而 Project2 将引用它而不是项目本身。
我面临的问题:在当前情况下(单一存储库)在开发过程中我引入了一个特性 Project2 也需要在 Project1 中进行更改这不是问题。如果有问题我可以发现 在开发期间。
以一种新的方式(多存储库)我首先需要对 Project1 进行更改,创建 nuget 并将其推送到 nuget 存储,然后更新 Project2 中的引用。如果我在 Project1 中遇到问题,我必须回到 Project1, 修复问题并再次推送,更新 Project2 中的引用等。此外,失去调试的好处 这两个项目。
这种方法有解决方案吗?集中我的问题:如果我的开发机器上有两个项目的源代码, 是否有可能以某种方式指示 Visual Studio 使用源代码而不是引用的 Nuget 进行调试?
希望我解释得尽可能正确和清楚...
最佳答案
如果您有两个不同的项目并且它们都在不同的存储库中,您可以将库添加为第一个项目的子模块。我假设你正在使用 git。您可以通过以下方式简单地做到这一点:
git submodule add <link for the other repo>
在 Visual Studio 中,您只需将项目添加到同一解决方案,然后从可执行文件中引用库。我不确定这是否对您有用,但我希望它有用。
关于c# - 在 Visual Studio 中的多存储库中开发和调试项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56583122/