Silverlight,减少xap大小设置,为什么DLL仍然包括在内?

Silverlight,减少xap大小设置,为什么DLL仍然包括在内?,silverlight,Silverlight,我使用了“使用应用程序库缓存减少XAP大小”设置。我看到有些DLL现在被排除在.xap文件之外,但有些则没有 System.Reactive.dll System.Windows.Controls.DataVisualization.Toolkit.dll System.Windows.Controls.Theming.Toolkit.dll System.Windows.Controls.Toolkit.dll 你知道为什么会这样吗 谢谢您正在使用哪个版本的工具包 在VS中打开Referen

我使用了“使用应用程序库缓存减少XAP大小”设置。我看到有些DLL现在被排除在.xap文件之外,但有些则没有

System.Reactive.dll
System.Windows.Controls.DataVisualization.Toolkit.dll
System.Windows.Controls.Theming.Toolkit.dll
System.Windows.Controls.Toolkit.dll
你知道为什么会这样吗


谢谢

您正在使用哪个版本的工具包

在VS中打开References文件夹并选择其中一个DLL。然后查看该引用属性中的
Path
值。打开包含dll的文件夹

该文件夹中应该有一个匹配的*.extmap.xml。此文件用于为dll创建外部zip文件。如果此文件不存在,则无论“使用应用程序库缓存减少XAP大小”设置如何,dll仍将包含在XAP中

最新版本的工具包(Nov09用于SL3,Apr10用于SL4)都包含一组extmap.xml文件。但是,如果您有将此类库文件复制到项目中的做法(通常人们使用项目下的“Libs”子文件夹),则您可能没有复制这些文件。

如果DLL旁边有一个.extmap文件,“减小XAP大小”功能只会将DLL从XAP中删除(例如,您可以查看\Program Files(x86)\Microsoft SDK\Silverlight\vX.0\Libraries\Client下的任何SDK程序集及其各自的extmap文件)。仍然包含的程序集可能缺少extmap文件,或者定义不正确