To understand how ComponentOne XapOptimizer works, consider the structure of a XAP file. A XAP file is a Silverlight application file. It's basically a file compressed in the ZIP format that includes all of the files needed by your Silverlight application. To see exactly what's inside a XAP file, you can re-name the file with a .zip extension and expand the file.
For example, if you examine the contents of a XAP file you'll see that it might contain a collection of files similar to the following:
• AppManifest.xaml
• ServiceReferences.ClientConfig
• StockPortfolio.dll
• System.Windows.Controls.dll
• C1.Silverlight.Chart.dll
• C1.Silverlight.Data.dll
• C1.Silverlight.DataGrid.dll
• C1.Silverlight.dll
• C1.Silverlight.Extended.dll
The XAP file always contains an application manifest file and copies of the assemblies and resources referenced by the application:
• An application manifest file (AppManifest.xaml)
The application manifest file is always present and includes deployment information for your application. For example, it will list the application's entry point and a list of the files that comprise the application.
• A YourProject.dll assembly
This file is the compiled version of your Silverlight application. It should have the same file name as your project.
• Any additional assemblies need for your project
The XAP file will include additional assemblies needed for your project, if any. So, for example, if you're using the ComponentOne C1RadialGauge gauge control in your project, the XAP file will include the C1.Silverlight.Gauges.dll assembly.
• External resources
If you embedded images or other external resources in your Silverlight application, they may also be included in the XAP file.
While the XAP file is initially compressed to minimize deployment size, it can include unnecessary elements that can be pruned and it can typically be further compressed – that's where ComponentOne XapOptimizer can help. XapOptimizer further reduces the size of your Silverlight application to reduce load time.