.net 从带有反射的webservice加载远程程序集

.net 从带有反射的webservice加载远程程序集,.net,web-services,system.reflection,.net,Web Services,System.reflection,我正在web服务中使用Assembly.LoadFrom从网站加载程序集。但问题是它在virutal目录中,server.mappath像\share\mydll.dll那样解析url,loadform方法失败。是否仍有从远程位置引用dll的方法 我试着传递url(),但它还是得到了 “无法加载文件或程序集“”或其依赖项之一。此appdomain已禁用程序集的HTTP下载。(HRESULT的异常:0x80131048)”您可以使用WebClient类通过internet下载程序集: using(

我正在web服务中使用Assembly.LoadFrom从网站加载程序集。但问题是它在virutal目录中,server.mappath像\share\mydll.dll那样解析url,loadform方法失败。是否仍有从远程位置引用dll的方法

我试着传递url(),但它还是得到了
“无法加载文件或程序集“”或其依赖项之一。此appdomain已禁用程序集的HTTP下载。(HRESULT的异常:0x80131048)”

您可以使用
WebClient
类通过internet下载程序集:

using(var wc = new WebClient()) {
    Assembly.Load(wc.DownloadData(url));

程序集是在磁盘上还是从web服务返回的?抱歉..我是juz编的url。我的错。程序集位于磁盘上,并试图从Web服务调用它。然后,您只需使用其完整路径从本地磁盘加载程序集。我尝试过,但在生产环境中,从server.mappath转换的路径类似于\\share\mydll.dll。这不是物理路径。这就是我收到错误的原因。只要您验证您的web服务器允许下载.dll文件,默认情况下IIS会阻止下载(这就是为什么ClickOnce中有.deploy选项)。我确实使用webclient.downloaddata获取了dll,但问题还是出在我强制转换该对象时,它说无法将类型为“SiteExtractor”的对象强制转换为类型为“IEExtractor”。“但是SiteExtractor实现了Iextractor接口,它以前工作得很好。同一程序集的不同版本之间可能存在冲突。这就是我的想法,所以我用url中的版本替换了dll。但仍然不起作用。”。。已经一周了,我真的很沮丧。