色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Silverlight動態加載DLL

  問題

  今天手頭的項目遇到一個問題,為了描述這個問題,我建立了一個簡單的項目,結構如下:

image   問題是這樣的:

  1,silverlightApplication1中有一個按鈕,點擊后彈出窗口;silverlightApplication6中只有一個canvas來放置從SilverlightApplication1.dll反射得到的控件。

  2,silverlightApplication6中動態加載了silverlightApplication1的SilverlightApplication1.dll文件。

  3,如果在RIA上啟動新實例進行調試,可以正常通過。效果是:

image

  4,但是在web上啟動新實例進行調試就會報錯:會提示安全性錯誤。

  解決辦法

  經過反復測試,還不停的修改策略文件等,最后確定了是DLL的加載路徑的問題,錯誤的寫法有很多,同事也給出了集中正確的寫法,在此列出其中一種正確的寫法,在這樣的文件結構下:

image

  我們可以這樣寫加載方法:

public MainPage()
{
InitializeComponent();
WebClient web
= new WebClient();
web.OpenReadCompleted
+= new OpenReadCompletedEventHandler(web_OpenReadCompleted);
web.OpenReadAsync(
new Uri("SilverlightApplication1.dll", UriKind.RelativeOrAbsolute));
}

void web_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
AssemblyPart part
= new AssemblyPart();
Assembly assembly
= part.Load(e.Result);

UserControl uc
= assembly.CreateInstance("SilverlightApplication1.Box") as UserControl;
this.canvas1.Children.Add(uc);
}

NET技術Silverlight動態加載DLL,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 乌鲁木齐市| 广河县| 玉环县| 九江市| 正蓝旗| 万州区| 昭苏县| 乡宁县| 河曲县| 宁强县| 博爱县| 东宁县| 额敏县| 湛江市| 延边| 阜南县| 镇沅| 江西省| 额敏县| 驻马店市| 锡林郭勒盟| 云林县| 莲花县| 和林格尔县| 郧西县| 修武县| 云安县| 北碚区| 英德市| 永丰县| 兴城市| 水富县| 峨眉山市| 易门县| 赣州市| 襄城县| 长沙县| 张家川| 黎城县| 双鸭山市| 思茅市|