silverlight加载程序集dll问题
我在silverlight项目中,添加了一个sl类库名称叫SL.Core,然后引用pag.xaml的类库中并把SL.Core的属性“复制到本”改成False。因为我想把sl.core与xap文件分离开发。用到sl.core的时候才加载进来。。参照网上达人的资料调试成功,代友如下:
private void loadassem()
{
WebClient client = new WebClient();
client.OpenReadCompleted += com;
client.OpenReadAsync(new Uri("SL.Core.dll", UriKind.Relative));
}
void com(object send, OpenReadCompletedEventArgs e)
{
AssemblyPart ap = new AssemblyPart();
ap.Load(e.Result);
}
调试成功是我直接按F5来进行运行才成功,我布署到IIS后通过IIS去访问就加载不了?超郁闷啊。
我的IIS设了主机头:http://my.sl.com:10 基它显示SL控件倒是正常,但一调用加载DLL的时候就出错。。
出错内容:
位于 System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
位于 System.Net.OpenReadCompletedEventArgs.get_Result()
位于 LC.BSY.Business.BsyContronls.Compt.com(Object send, OpenReadCompletedEventArgs e)
位于 System.Net.WebClient.OnOpenReadCompleted(OpenReadCompletedEventArgs e)
位于 System.Net.WebClient.OpenReadOperationCompleted(Object arg)
最后我又改成通过IP去访问SL站点还是一样的错。。。help!!!
[解决办法]
同情楼主啊,我也遇到过这样的问题,非常诡异的是几乎一摸一样的代码,一个可以,一个不行,我现在的做法是Application.GetResourceStream()来读取DLL,但是前提条件是2个DLL在一个XAP里面,或者你可以用绝对路径试试,我没试过绝对路径,如果还不行,似乎就是silverlight本身的问题,因为SL本身很多不安全操作都不可用,例如文件IO等,希望能帮到你的忙
[解决办法]
可能是权限问题,需要给DLL设置asp.net用户权限
[解决办法]
路径问题吧,把SL.Core.dll这个文件拷一份到webApplication的webclient目录下试试。