Silverlight, reducing xap size setting, why dlls still included?
I've used the "Reduce XAP size by using Application library caching" setting. I see that some dlls are now excluded from the .xap file but some aren't, specifically
System.Reactive.dll
System.Windows.Controls.DataVisualization.Toolk开发者_开发百科it.dll
System.Windows.Controls.Theming.Toolkit.dll
System.Windows.Controls.Toolkit.dll
Any idea why this is the case?
thanks
The "Reduce XAP size" feature only leaves DLLs out of the XAP where there's a .extmap file next to the DLL (for examples, you can look at any of the SDK assemblies under \Program Files (x86)\Microsoft SDKs\Silverlight\vX.0\Libraries\Client and their respective extmap files). The assemblies that are still being included probably are either missing the extmap file, or it's somehow improperly defined.
What version of the toolkit are you using?
In VS open the References folder and select one of these dlls. Then look at the Path
value in the properties of that reference. Open the folder that contains the dll.
Present in that folder should be a matching *.extmap.xml. This file is used in creating the external zip file for the dll. If this file isn't present then regardless of the "Reduce XAP size by using Application library caching" setting the dll will still be included in the XAP.
The latest versions of the Toolkit (Nov09 for SL3 and Apr10 for SL4) both include a set of these extmap.xml files. However if you have the practice of copying such library files into your project (commonly people use "Libs" sub-folder under the project) then you may not have copied these files.
精彩评论