|
|
1
8
a1)这两个列表之间的区别在于,第一组程序集已经定义了必要的*.extmap.xml文件,Visual Studio使用这些文件自动将每个程序集打包到一个zip文件中,然后这些文件独立地缓存在客户端(通过Web浏览器)。 如果您查看此文件夹(根据需要调整安装驱动器位置): C:\程序文件(x86)\Microsoft SDK\Silverlight\v4.0\Libraries\Client 您将看到几乎每个常见的Silverlight程序集(如果不是全部)都有*.extmap.dll文件。例如,以下是system.windows.data.extmap.dll的内容:
如果您遵循以下文档 here 你会看到这是怎么建造的。大多数部分应该是明显的,唯一不寻常的方面可能是扩展元素。通过在downloadUri属性中放置文件名,程序集将自动打包到该文件中(它是一个zip文件,但扩展名可以是您想要的任何文件)。 引用程序集(如system.windows.data)时,它会发现此文件并在生成过程中使用它来创建zip文件system.windows.data.zip。如果两个或多个引用的程序集都共享同一个DownloadUri目标文件名,则它们将在生成时自动组合成单个文件。 A2) 您可以按照该模式为第二个列表中的每个程序集创建*.extmap.dll文件。 XML文件应与您要创建的程序集位于同一文件夹中。 对于galasoft.mvmlight.sl4(例如,我没有安装此组件,也不知道它是否已签名)。文件名为: galasoft.mvmlight.sl4.extmap.xml文件 内容如下:
一旦该文件存在,Visual Studio将使用它生成名为 galasoft.mvmlight.sl4.zip(加拉索夫.mvmlight.sl4.zip) . 一旦引用dll(只要extmap.xll文件与原始程序集并排出现),这一切都会自动发生。 |