来自 Nuget 或 GitHub 来源的项目参考?

Reference for Project from Nuget or GitHub Source?

我应该在我的项目中使用 nuget 包或 github 源作为参考? 例如,我正在使用像 Template10 和 Prism 6 这样的库,我开始使用它们,当它们在 nuget 上不存在时,然后我使用它们的 github 源来引用,但现在它们都在 nuget 上,我是不是应该迁移 nuget 的引用吗?还是不是?

TL;DR:切换到 NuGet 包以便于使用,如果你想调整它,请坚持使用源代码。

您确实可以克隆 GitHub 的源代码,自己构建并添加 dll,或者将完整的项目添加到您自己的解决方案中。如果您想在某个库在 NuGet 上可用之前使用它(或通过其他方式,例如 vsix 安装程序),则这是必要的。但是要使该代码与新版本保持同步需要做很多工作(而且您并不总是确定刚刚克隆的版本是稳定版本)。

然而,NuGet 的存在是有原因的,那就是易用性。您选择一个包版本并针对该版本进行操作,您是决定 when/if 您将更新到包的新版本的人。您 100% 确定您正在使用的版本按预期工作(当然确实存在错误 :))。您基本上相信库创建者的经验,他们决定代码何时足够稳定以提供 public 发布。

因此,除非您自己调整库的源代码,否则我建议使用 NuGet 包以便于使用。