轉帖|其它|編輯:郝浩|2011-03-31 14:17:49.000|閱讀 843 次
概述: 這次得到了一個做Silverlight應用開發的機會,在發布時遇到 xap 包太大的問題,上網看了半天,最后把微軟的這個文檔 “如何使用應用程序庫緩存” 翻來覆去看了半天,終于搞明白了它說的內容,暈啊,真應了 “會者不難” 這句老話。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
這次得到了一個做Silverlight應用開發的機會,在發布時遇到 xap 包太大的問題,上網看了半天,最后把微軟的這個文檔 “如何使用應用程序庫緩存” 翻來覆去看了半天,終于搞明白了它說的內容,暈啊,真應了 “會者不難” 這句老話。
最后決定把這個其實很簡單的東西總結一下,避免別的新學者浪費時間。
開發場景:
Silverlight Application: 與Web交互, 程序集名:SilverlightApplication10.dll
Silverlight Class Library: 被SilverlightApplication10引用,程序集名:SilverlightClassLibrary1.dll
目標:
編譯后的ClientBin中,SilverlightApplication10.xap包中不包含SilverlightClassLibrary1.dll, SilverlightClassLibrary1.dll 以SilverlightClassLibrary1.zip新式單獨存在。
OK, 現在說說這核心三部曲:
1. SilverlighApplication10工程屬性里”Silverlight”標簽下勾上 “Reduce XAP size by using application library caching”
2. 在保存SilverlightClassLibrary1.dll的地方增加一個extmap文件” SilverlightClassLibrary1.extmap.xml”
SilverlightClassLibrary1.extmap.xml 的內容說明
<?xml version="1.0"?> |
<manifest xmlns:xsi="" |
xmlns:xsd=""> |
<assembly> |
<name>SilverlightClassLibrary1</name> |
<version>1.0.0.0</version> |
<publickeytoken>ee6c3f173c1a51b5</publickeytoken> |
<relpath>SilverlightClassLibrary1.dll</relpath> |
<extension downloadUri="SilverlightClassLibrary1.zip" /> |
</assembly> |
</manifest> |
name: SilverlightClassLibrary1 的程序集名字
version: assembly version.
publickeytoken: 打上簽名后的public key
沒什么太多解釋的,微軟的文檔“” 里說的很清楚了。對于version和publikeytoken如果你拿不準的話,可以用reflector看,簡單直接:
另外,extension downloadUri的內容注意別寫錯了,是 .zip結尾!我有個配置給copy成.dll了,老不成功,以為還需要設置別的配置,在快把我搞死的時候,才發現這兒寫錯了
3. SilverlightApplication10 不要引用SilverlightClassLibrary1的工程,要直接引用編譯好的SilverlightClassLibrary1.dll
OK,最后結果如圖:
清爽的xap包!把它改名成SilverlightApplication10.zip,打開看看:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:葡萄城控件技術團隊博客