2014-03-07 46 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將其作爲系統部署過程的一部分發布。在開發過程中,這些庫只是項目引用,並會立即更新。

實質上,您必須將其作爲系統的組件或作爲獨立的產品;將它作爲兩者來對待將是一個錯誤。