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

标签 c# visual-studio nuget nuget-package

这是我遇到的问题的基础(当然,为了问题的缘故,它被过于简单化了): 我在存储在单一存储库中的解决方案中有 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/

相关文章:

visual-studio - 向 Visual Studio 2015 更新 1 添加新的 textmate 语法

nuget - 已添加具有相同键的项目 nuget 错误

c# - 如何在不等待完成的情况下启动异步方法?

c# - 正则表达式只允许 0-9 和 - 字符,以及点 (.)

c# - 比较从不同程序集加载的对象

c# - 在新的 AppDomain 中调用库以防止异常传播

visual-studio - 从 VS 2008 IDE 启动 2 个 exe 进行调试的好方法?

visual-studio - Visual Studio 2017 实时测试排除项

.net - 项目本地 NuGet 存储库是否有约定?

visual-studio - 防止需要将 NuGet.exe 添加到源代码管理