项目引用的Silverlight 4程序集缓存

项目引用的Silverlight 4程序集缓存,silverlight,silverlight-4.0,Silverlight,Silverlight 4.0,我有几个Silverlight实用程序和控制项目,可以在我的web应用程序中的几个不同应用程序中重复使用。这些都是在同一个解决方案中进行的。每个Silverlight应用程序都有自己的页面 示例设置 公用事业 公共资源 我已经为这些项目设置了强名称键并创建了extmap,但是dll仍然在XAP中。该版本在assembly.cs中定义为1.0.0.0 公共资源 1.0.0.0 {此处为公钥} Silverlight.Common.CommonResources.dll 这些都是参考工具和公

我有几个Silverlight实用程序和控制项目,可以在我的web应用程序中的几个不同应用程序中重复使用。这些都是在同一个解决方案中进行的。每个Silverlight应用程序都有自己的页面

示例设置

  • 公用事业
  • 公共资源 我已经为这些项目设置了强名称键并创建了extmap,但是dll仍然在XAP中。该版本在assembly.cs中定义为1.0.0.0

    公共资源 1.0.0.0 {此处为公钥} Silverlight.Common.CommonResources.dll

这些都是参考工具和公共资源 -ManageFoo -经理栏 -等


我可以用汇编缓存实用程序和公共资源dll吗?

我不明白为什么在这种情况下不能。事实上,它似乎是理想的候选人

您需要确保为实用程序和公共资源DLL生成
extmap
文件。该文件如下所示:

<?xml version="1.0"?>
<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <assembly>
    <name>System.Windows.Controls.Data.DataForm.Toolkit</name>
    <version>2.0.5.0</version>
    <publickeytoken>31bf3856ad364e35</publickeytoken>
    <relpath>System.Windows.Controls.Data.DataForm.Toolkit.dll</relpath>
    <extension downloadUri="System.Windows.Controls.Data.DataForm.Toolkit.zip" />
  </assembly>

</manifest>

System.Windows.Controls.Data.DataForm.Toolkit
2.0.5.0
31bf3856ad364e35
System.Windows.Controls.Data.DataForm.Toolkit.dll
并具有表格的名称:

<dllname>.extmap.dll
.extmap.dll

并且必须与dll本身位于同一位置。

您可以尝试向CommonResources项目添加一个XML文件(例如,名为Common.CommonResources.extmap.XML),并将“复制到输出目录”设置为“如果更新,则复制”,内容如下:

<?xml version="1.0"?>
<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <assembly>
    <name>Common.CommonResources</name>
    <version>*.*.*.*</version>
    <publickeytoken>*</publickeytoken>
    <relpath>Common.CommonResources.dll</relpath>
    <extension downloadUri="Common.CommonResources.zip" />
  </assembly>

</manifest>

公共资源
*.*.*.*
*
Common.CommonResources.dll

将副本更改为输出目录成功!谢谢你的快速回答+1这可能行得通,但fzlin使用VS自动完成该设置,所以我接受了他的答案。@Aligned-没问题。这就是被接受的答案——向你展示对你帮助最大的答案。