【问题标题】:Why do the assemblies in the Expression Blend SDK not support Application Library Caching?为什么 Expression Blend SDK 中的程序集不支持应用程序库缓存?
【发布时间】:2011-04-07 20:41:11
【问题描述】:

诚然,创建 extmap.xml 文件比较简单:

http://msdn.microsoft.com/en-us/library/dd833069(VS.95).aspx

但是,虽然许多第三方库提供 extmap.xml 文件及其程序集(例如,Telerik 谢天谢地),但 Blend SDK 没有(查看我的 C:\Program Files (x86)\Microsoft SDKs\Expression \Blend\Silverlight\v4.0\库)。目前我看不出有任何理由。

这只是一个简单的疏忽吗?是否有某些原因不应将这些特定程序集包含在应用程序库缓存中?这是一个支持问题,并且不支持在 xap 之外?

诚然,我们从该 SDK 中使用的 5 个 dll 在我们的 xap 中总共只有约 420KB(压缩前),但如果没有技术或支持理由不这样做,我想将它们移出。 :)

【问题讨论】:

  • 帮助我理解上下文。您是否尝试过选择“项目”->“Silverlight 项目设置”->“使用应用程序库缓存”选项并且 DLL 仍被放入主 XAP 中?哪些控件是罪魁祸首?
  • @Nissan:任何缺少匹配 extmap.xml 文件的程序集仍将放在主 xap 中 - 有关详细信息,请参阅我链接到的 MSDN 页面。

标签: silverlight silverlight-4.0 expression-blend


【解决方案1】:

没有技术上的理由不这样做。 takeit dll 最初也没有 extmap 文件,但正如您所说,创建它们相当容易。

从技术上讲,应用程序以完全相同的方式使用它们,应用程序将在执行应用程序之前下载并加载所有压缩的 dll,就像它正常加载嵌入在 Xap 中的所有 dll 一样。

您只需要小心避免回到 dll 地狱的日子。在同一个 ClientBin 文件夹中托管多个使用不同版本 dll 的 Xap 可能会很棘手。因此,您真的应该准备好一起构建和发布整个 ClientBin 文件夹。

当然,没有什么可以阻止您使用多个文件夹来避免版本问题,但这会降低缓存的好处。

【讨论】:

  • 好点 - 目前我们只有一个 xap 文件,所以我目前不需要担心任何版本冲突的问题,但最好考虑一下何时/是否添加更多 xap . :) 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多