Size of the DLL's

Jul 17, 2009 at 6:46 PM


  I have download the binaries of the app, the CSharp Zip Dll is about 139 Kb and ImageTools 109 Kb, all zipped (XAP?) about 107 Kb.

  Is not a big deal in size but if I start adding other libraries... summing up I could get a big XAP (my goal is to have an initial xap that is below the 400 Kb's). I see several possiblities, I would like to get your opinion / feedback about them if possible:

  • Deploy a subset of the image tool: in my case I only need to save a canvas as compressed PNG (or JPEG), do you think I could save a lot of space by removing all the code that is not related to that functionallity? Is that fear / acceptable / legal from your side?
  • I could as well store this in a separate XAP and load it in background, but that makes things a bit more complicated (not so straight forward to use).




Jul 17, 2009 at 8:14 PM
Edited Jul 18, 2009 at 12:41 PM

I think there are two big points.

(1) My library. I think I can make some subset or make different dll's, one for jpg encoding / decoding, png, bmp and all this stuff, a core dll and one dll for the controls.

(2) Sharp Zip Lib. I can remove all classes I dont nee, perhaps I can integrate the code in my library, so you dont need a seperate dll.


I will care about this tomorrow.

Jul 18, 2009 at 7:39 AM


  That's great, reducing the overall size is excellent, and chopping into DLL's by funtionallity quite good idea as well... is something like add Dll's as you go.

Jul 18, 2009 at 8:39 AM

I think we are looking for the same thing (and possibly many SL3 guys with us)

I used the ImageTools code, and chopped everything off it to only leave a compressed PNG encoder.. which really helps saving bandwidth..



Jul 18, 2009 at 12:54 PM

Good news, I made a sperate dll for each image format, the controls and a library with some extension methods. If you just want to save the canvas as stream you need 4 assemblies'

  • ImageTools (27 KB)
  • ImageTools.Util (8 KB)
  • ImageTools.IO.Png (15 KB)
  • ICSharpCode.SharpZipLib.Silverlight (48 KB instead of 140 KB)

So the assemblies just have 98 KB instead of 250


Perhaps you can throw out some interfaces, if you want, but this will not improve the size very much.


Jul 19, 2009 at 7:55 PM

Great Thanks !!!

  98 Kb is not a big deal, just like load a JPEG image in your site.