复制本地和系统dll' - 重点是什么?

Bla*_*son 6 .net silverlight copy-local visual-studio

Visual Studio默认将所有dll复制到每个项目的bin文件夹.这还包括系统dll'(mscorlib.dll和System.dll除外),例如System.Xml.Linq,System.ComponentModel.Composition(包括自SL4以来)等.

由于这些文件包含在每个XAP中,因此XAP大小会大幅增加.在我的有限测试中,将"Copy local"设置为false似乎并没有破坏任何东西.为什么Visual Studio将这些文件添加到bin路径?由于用户已经拥有Silverlight,我可以假设这些程序集已经安装在每个用户的GAC中,或者我错过了什么?

Ant*_*nes 5

您提到的文件不包含在Silverlight的运行时安装中.使用这些库的Silverlight应用程序必须在下载过程中将它们提供给用户.

您可以通过在项目属性页面的Silverlight选项卡中设置"使用库缓存减少XAP大小"选项来最小化一些影响.

此选项会将每个文件放在单独的Zip文件中,这些文件将放在与XAP相同的文件夹中.

这有助于您的站点可能有多个Xap用于各种应用程序或经常发布新版本的情况.对于很少变化或被许多独特访问者点击的单个应用程序,它不那么有用.