Packages on Nuget

Mar 8, 2011 at 2:29 PM

I have used Nuget to include a MvvmLight reference in my WPF 4.0 solution, and it works, but includes 10 Mb of files in project structure path: snippets, templates and dll for all implementations (WPF 3.5 and 4, SL 3 and 4 and WP7). I can't include all this in my SCM, so I have to clean them before checkin (I'm using TFS, which proposes me to upload all those files).

I would have preferred that there was one Nuget package for each technology, so I can get only MvvmLight for WPF 4.0. Also templates and snippets should be appart, so I could get it separatelly (or maybe via another Nuget package). It would make the process more straightforward, only taking into account required files.

I just have commented this with Laurent via Twitter, but now I realize this is the appropiate channel to do this suggestion.

Coordinator
Mar 8, 2011 at 4:24 PM

Hi,

Thanks for the feedback. As already mentioned on Twitter, the Nuget package is an independant initiative. I will take a look and see if I can propose a better solution.

Thanks,

Laurent

Coordinator
Mar 14, 2011 at 10:12 PM

For info, I "reclaimed ownership" of the Nuget MVVM Light package. It means that I can now modify it at will.

My plan is to make a new version with only the binaries. As far as I can see, the download should include all versions of the DLLs (SL3, SL4, WP7, WPF3.5 and WPF4) but that should be less heavy than it is now. I don't think that adding the snippets and templates makes much sense for a Nuget package. Does it?

Thanks,

Laurent

Mar 14, 2011 at 10:19 PM
I believe it’s possible to script the installation of snippets etc using Nuget’s PowerShell integration, but I don’t see the point in including them. A lightweight installer just for those pieces that users could download separately would make more sense, I reckon.
It’ll be interesting to see how small you can get the package, Laurent. The existing one was weighing in at over 10MB, from memory – big enough that it stopped me from wanting to use Nuget to add MVVM Light to my projects.
Matt
From: [email removed]
Sent: Tuesday, March 15, 2011 8:12 AM
To: [email removed]
Subject: Re: Packages on Nuget [mvvmlight:248864]

From: lbugnion

For info, I "reclaimed ownership" of the Nuget MVVM Light package. It means that I can now modify it at will.

My plan is to make a new version with only the binaries. As far as I can see, the download should include all versions of the DLLs (SL3, SL4, WP7, WPF3.5 and WPF4) but that should be less heavy than it is now. I don't think that adding the snippets and templates makes much sense for a Nuget package. Does it?

Thanks,

Laurent

Coordinator
Mar 14, 2011 at 10:42 PM

If we keep only the binaries, and even if all the available versions are downloaded (which I am not sure they are, being unfamiliar with how Nuget downloads the packages), this should total around 1MB maximum. I will try it out and then maybe you can test it. Stay tuned.

Cheers,

Laurent

Coordinator
Mar 14, 2011 at 10:44 PM

BTW I should add that we are working on an automated installer for MVVM Light and the goal is to have it ready by MIX11.

Mar 14, 2011 at 11:25 PM
I have to point that 1 package per technology was a better approach, this is just what is needed for a project, and you can always get another nuget package for other project in same solution. Also, with this min-sized packages the user would choose platform on nuget explorer, and after that he has not to modify files or references.
In this case, you can even include snippets/templates for each platform in each package (with a more complicated package content) without an excesive size (1-2 Mb).

One more question: by "Automated installer" do you mean "outside nuget", right? By now, I will prefer nuget platform.

Thanks Laurent,

Pablo

Coordinator
Mar 15, 2011 at 9:44 AM
Edited Mar 15, 2011 at 9:44 AM

Hey Pablo,

About 1 package per technology, I tend to disagree. Nuget has a mechanism allowing to add different technologies in the same package (in subfolders), allowing the correct technology to be picked automatically. I think it is less confusing for the user, as he is just picking "MVVM Light" from the catalog, instead of having to pick "MVVM Light for Silverlight 4" for instance. Also, this clutters the catalog less, offering only one global MVVM Light package.

Regarding the automated installer, this is something that installs everything (snippets and templates in Studio, binaries in C:\program files, etc) while Nuget installs only the references to the binaries. However this will note replace Nuget, it's just a different offering.

Makes sense?

Cheers,

Laurent

Mar 15, 2011 at 10:18 AM
Ok Laurent,

My point of view was focused on TFS (or other SCM), where I have to ignore/exclude all the other dll versions I don't gonna need. BTW, as you said current MvvmLight nuget package works well on choosing right dll's for current project, and truthly it's better to expose just one package for-all-tech, it's easier for the user.

I understand, and at least now I'll only have to remove a few Kb versus almost 10 Mb. I'm thinking that maybe my request is more for nuget team than for you.

Thanks for your work, Laurent.

Pablo.
Apr 1, 2011 at 8:33 PM

Hi Laurent,

 

Just a suggestion. It would be fine if you provide 2 packages :

- a MVVM core package, with only GalaSoft.MvvmLight.dll

- a MVVM full package, with core and Extras.dll and Interactivity.dll

Thanks for your great library.

Coordinator
Apr 1, 2011 at 8:48 PM

Hi,

Good idea. That might be what I end up doing.

Cheers,

Laurent