Silverlight 3 est sortie ce matin alors je ne résiste pas à vous écrire un petit post pour vous présenter une fonctionnalité assez sympathique. Cette nouvelle mouture apporte la possibilité de mettre en cache certains assemblys.
Pour commencer, je crée un projet Silverlight sous Visual Studio 2008 :
Je rajoute une DataGrid, hop la boum ! Je compile …. Mon fichier .xap pèse 205kb.
J’active l’option de mise en cache des librairies dans les propriétés du projet en faisant Project -> Project Properties.
Je recompile, hop la boum ! Mon fichier .xap pèse 3.73kb soit 54 fois moins !
Allons jetez un coup d’œil dans le fichier avant et après réduction.
Après :
Après réduction, il reste que notre assembly qui garde la même taille et le fichier AppManifest.xaml qui lui n’a pas la mêmes taille dans les deux .xap. Allez hop, on les compares :
1 2 3 4 5 6 7 8 9 | <Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="CacheSilverlight3" EntryPointType="CacheSilverlight3.App" RuntimeVersion="3.0.40624.0"> <Deployment.Parts> <AssemblyPart x:Name="CacheSilverlight3" Source="CacheSilverlight3.dll" /> <AssemblyPart x:Name="System.ComponentModel.DataAnnotations" Source="System.ComponentModel.DataAnnotations.dll" /> <AssemblyPart x:Name="System.Windows.Controls.Data" Source="System.Windows.Controls.Data.dll" /> <AssemblyPart x:Name="System.Windows.Controls.Data.Input" Source="System.Windows.Controls.Data.Input.dll" /> <AssemblyPart x:Name="System.Windows.Data" Source="System.Windows.Data.dll" /> </Deployment.Parts> </Deployment> |
Après :
1 2 3 4 5 6 7 8 9 10 11 | <Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="CacheSilverlight3" EntryPointType="CacheSilverlight3.App" RuntimeVersion="3.0.40624.0"> <Deployment.Parts> <AssemblyPart x:Name="CacheSilverlight3" Source="CacheSilverlight3.dll" /> </Deployment.Parts> <Deployment.ExternalParts> <ExtensionPart Source="System.ComponentModel.DataAnnotations.zip" /> <ExtensionPart Source="System.Windows.Controls.Data.zip" /> <ExtensionPart Source="System.Windows.Controls.Data.Input.zip" /> <ExtensionPart Source="System.Windows.Data.zip" /> </Deployment.ExternalParts> </Deployment> |
On remarque qu’une section est rajouté pour les fichiers externes a notre projet qui seront ensuite chargé au démarrage du fichier .xap ce qui évite de les inclure dans notre fichier .xap et donc de le réduire.
J’espère que cette petite nouveauté vous plaira.
À bientôt !






0 réponses
Suivez la conversation, abonnez-vous au flux RSS des commentaires..