2011-02-01 81 views
1

我有四个Silverlight 4应用程序,每个都在他们自己的Visual Studio项目中,为此我想编写一个“外壳”来托管它们,以便它们作为单个应用程序显示给用户。为了最大限度地缩短下载时间,我将动态下载XAP和支持的DLL。所以我最终会得到5个应用程序 - shell和四个子应用程序。现在我的问题:动态加载Silverlight XAP

我的应用程序都参考Telerik套件,这是一个相当重要的下载。当我构建我的应用程序时,Telerik DLL会压缩到每个XAP中(如预期的那样)。因此,即使我动态加载XAP,Telerik DLL也会多次下载,每次XAP都会下载一次。

那么我怎样才能让Telerik DLL只下载一次(比如Shell),并且被所有的子应用程序共享?

回答

1

如果您进入各种Silverlight项目的属性窗口并选择“Silverlight”选项卡,您将看到一个选项“使用应用程序库缓存来减少XAP大小”。如果你选择这个,支持库(在这里是Telerik)将被打包成单独的.zip文件,这些文件可以单独下载。有关更多详细信息,请参阅here,其中包含有关如何为这种行为配置您自己的程序集的说明。 (我认为,尽管我没有检查过,Telerik是通过它们的控制来做到这一点的。)