Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Efficient development workflow with Nuget?

Tags:

.net

nuget

Nuget is a great tool but it seems to complicate the common process of iteratively modifying libraries and the hosting application at the same time.

For example, in the application if we have the app itself and 5 Nuget packages and we want to start changing three of the Nuget packages. There seems to be limited efficient options.

Scenario 1: Load up 4 copies of Visual Studio (one for the app and one for each of the packages), modify the packages, wait for packages to be built, update, modify host, build, rinse and repeat.

Scenario 2: In the main app, rip out Nuget dependencies and add in proj files and iterate efficiently. However, then once you are happy with the packages, the solution/proj files need to be repaired (Nuget restored, etc).

What are we missing here? In the open source world, this is a snap.

like image 954
halt00 Avatar asked Mar 07 '14 16:03

halt00


1 Answers

NuGet is a good tool for versioning libraries which can be developed, tested and released as isolated packages. If you can treat them as a product, with feature requests, bug-fixes and a work-plan, then NuGet will support the release of new versions for systems to consume.

If your libraries are coupled to systems, such that features are added to the libraries to directly support the new features of a specific system, then you may want to make the library part of that system's release and development process. You can write the library with the system in mind, test it as part of the system, then release it via NuGet as part of the system deployment process. In development, the libraries are just project references and are immediately updated.

Essentially, you must either treat it a component of the system or as an isolated product; it would be a mistake to try and treat it as both.

like image 81
Paul Turner Avatar answered Oct 06 '22 05:10

Paul Turner