构建Silverlight4应用程序时,“Microsoft.Practices.Unity.Silverlight.dll”程序集不会放入单独的文件zip文件中,而是放在XAP文件中。
为了保持一致,以下是“如何处理标准装配”主题的先前问题的链接: [Silverlight: how to handle standard assemblies:如何处理标准装配] [Silverlight: how to handle standard assemblies (part 2):如何处理标准装配(第2部分)]
以下是完成的操作列表:
“Microsoft.Practices.Unity.Silverlight.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>Microsoft.Practices.Unity.Silverlight</name> <version>2.0.414.0</version> <publickeytoken>31bf3856ad364e35</publickeytoken> <relpath>Microsoft.Practices.Unity.Silverlight.dll</relpath> <extension downloadUri="Microsoft.Practices.Unity.Silverlight.zip" /> </assembly> </manifest>
(版本号和公钥令牌来自程序集本身)。
我期待文件“Microsoft.Practices.Unity.Silverlight.zip”出现在网站的“ClientBin”文件夹中......但它没有..我不知道为什么..
可能你知道一些有用的东西吗?如果是的话,请告诉我。
谢谢!
答案 0 :(得分:0)
我下载并安装了Unity Framework 2.0。
我在默认安装文件夹中添加了两个文件。
C:\Program Files (x86)\Microsoft Unity Application Block 2.0 for Silverlight\Bin
<强> Microsoft.Practices.Unity.Silverlight.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>Microsoft.Practices.Unity.Silverlight</name>
<version>2.0.414.0</version>
<publickeytoken>31bf3856ad364e35</publickeytoken>
<relpath>Microsoft.Practices.Unity.Silverlight.dll</relpath>
<extension downloadUri="Microsoft.Practices.Unity.Silverlight.zip" />
</assembly>
</manifest>
和 Microsoft.Practices.ServiceLocation.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>Microsoft.Practices.ServiceLocation</name>
<version>2.0.414.0</version>
<publickeytoken>31bf3856ad364e35</publickeytoken>
<relpath>Microsoft.Practices.ServiceLocation.dll</relpath>
<extension downloadUri="Microsoft.Practices.Unity.Silverlight.zip" />
</assembly>
</manifest>
我从未使用过Unity Framework,因此我决定将两个程序集都包含在同一个ZIP文件中。为此,我将downloadUri
元素的extension
属性设置为两个extmap.xml文件中的相同文件名。在这种情况下,我使用 Microsoft.Practices.Unity.Silverlight.zip 。
我在Silverlight 4.0项目中添加了对Microsoft.Practices.Unity.Silverlight程序集的引用。
接下来,我在Silverlight项目的项目属性中选中了通过使用应用程序库缓存减少XAP大小选项。
重建解决方案。在主机Web应用程序的ClientBin文件夹中,重建后添加了一个新的Zip文件Microsoft.Practices.Unity.Silverlight.zip。
我建议按照我使用的方法,看看它是否适合你。尝试重新选中未选中该选项的解决方案(并清除客户端bin文件夹)。清理并重建并检查它是否有效。