【问题标题】:How can I place multiple project dlls in the same Assembly Cache zip for Silverlight?如何将多个项目 dll 放置在 Silverlight 的同一个程序集缓存 zip 中?
【发布时间】:2010-11-09 22:47:35
【问题描述】:

我正在使用非常有用的 MvvmLight 工具包,并希望在打开程序集缓存的情况下将两个 dll 打包到一个 zip 中。我尝试为 main 和 Extras.dll 设置,但应用程序在 zip 中找不到 Extras dll。这可能与 Silverlight 相关吗?

编辑:我正在使用程序集缓存,因此工具包(和其他 dll)不在 XAP 中。然后用户只需要下载一次,而不是为每个 Silverlight 应用程序下载一次。我们有一个 ASP.NET 应用程序,其中包含几个不同的页面,展示了不同的 Silverlight 应用程序。

【问题讨论】:

  • 为什么要将两个 dll 打包到一个 zip 中?您是否知道 Silverlight 会将您的应用程序及其 dll 依赖项捆绑到一个扩展名为 .xap 的 zip 文件中?
  • 我正在使用程序集缓存来打包外部 dll(如 MVVMlightToolkit 和 Telerik 控制 dll)。我不是每个 dll 有 1 个 zip,而是考虑将几个 dll 放入 1 个 zip 中,以便浏览器只有 1 个文件要下载和缓存(按 304 标头)而不是几个

标签: silverlight


【解决方案1】:

我发现我现在可以在每个 extmap 文件中使用相同的 zip 文件。我不确定是我之前做错了还是什么...

<?xml version="1.0"?>
<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <assembly>
    <name>GalaSoft.MvvmLight.Extras.SL4</name>
    <version>3.0.0.30106</version>
    <publickeytoken>918f02b0f4b4b116</publickeytoken>
    <relpath>GalaSoft.MvvmLight.SL4.Extras.dll</relpath>
    <extension downloadUri="GalaSoft.MvvmLight.SL4.zip" />
  </assembly>

</manifest>

<?xml version="1.0"?>
<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <assembly>
    <name>GalaSoft.MvvmLight.SL4</name>
    <version>3.0.0.30106</version>
    <publickeytoken>918f02b0f4b4b116</publickeytoken>
    <relpath>GalaSoft.MvvmLight.SL4.dll</relpath>
    <extension downloadUri="GalaSoft.MvvmLight.SL4.zip" />
  </assembly>

</manifest>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    相关资源
    最近更新 更多