2014-03-07 118 views
4

Nuget是一个很棒的工具,但它似乎使迭代修改库和宿主应用程序的常见过程复杂化。Nuget的高效开发工作流程?

例如,在应用程序中,如果我们有应用程序本身和5个Nuget包,并且我们想要开始更改三个Nuget包。似乎有效的选择有限。

场景1: 加载4个Visual Studio副本(一个用于应用程序,另一个用于每个软件包),修改软件包,等待软件包的构建,更新,修改主机,构建,清洗和重复。

场景2: 在主应用程序中,翻出Nuget依赖关系并添加到proj文件中并高效地迭代。然而,一旦你对软件包感到满意,解决方案/ proj文件需要修复(恢复Nuget等)。

我们在这里失踪了什么?在开源世界中,这很简单。

+4

这很难回答简洁。你能解释你试图用NuGet解决什么问题吗? –

+1

“开始更改三个Nuget包”是什么意思?你还没有真正描述你做得非常清楚。如果你有一个单独的解决方案,它是4个NuGet包的源代码和使用它们的应用程序,我只需要使用项目引用而不是Nuget引用 - 并且不需要对任何东西进行任何“修复”... –

+1

,我很确定NuGet符合“开放源代码”的条件:https://nuget.codeplex.com/。我不确定我是否理解相关性。 –

回答

1

NuGet是一个很好的版本库工具,它可以作为独立的软件包进行开发,测试和发布。如果您可以将它们作为产品对待,并提供功能请求,错误修复和工作计划,那么NuGet将支持发布要使用的系统的新版本。

如果您的库与系统耦合,以便将功能添加到库中以直接支持特定系统的新功能,那么您可能希望将该库作为该系统的发行和开发过程的一部分。您可以在考虑系统的情况下编写库,将其作为系统的一部分进行测试,然后通过NuGet将其作为系统部署过程的一部分发布。在开发过程中,这些库只是项目引用,并会立即更新。

实质上,您必须将其作为系统的组件或作为独立的产品;将它作为两者来对待将是一个错误。