日期:2014-05-20  浏览次数:20697 次

怎样根据程序集的名字动态加载程序集?? 谢谢谢谢
比如程序集的名字是 "MyAssembly ",加了强名称.
我想通过Assembly.Load( "MyAssembly ")加载,
而不是Assembly.LoadFile( "c:\\MyAssembly.dll ")
应该怎么做??
谢谢谢谢

------解决方案--------------------
通过给定程序集的长格式名称加载程序集??

public static Assembly Load (
string assemblyString
)

assemblyString是程序集名称的长格式..

for exmaple:

Assembly SampleAssembly = Assembly.Load
( "SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3 ");


------解决方案--------------------
我想通过Assembly.Load( "MyAssembly ")加载,
而不是Assembly.LoadFile( "c:\\MyAssembly.dll ")
----------------------------------
这不一样吗?无非第二个是用文件名构造出文件地址就是了!
------解决方案--------------------
在 .NET 框架中,将程序集加载至应用程序域的方法有几种。

System.AppDomain 类包含几种重载的 Load 方法。尽管这些方法可用于将任何程序集成功地加载至当前的或新的应用程序域,但它们主要还是用于 COM 交互操作。您也可以使用 CreateInstance 方法加载程序集。

System.Reflection.Assembly 类包含两种静态重载方法:Load 和 LoadFrom。这两种方法因加载上下文而异。

http://www.kupage.com/webdesign/7/20030701/1104280000027ngcopfc.htm
------解决方案--------------------
http://blog.csdn.net/smartstar2005/archive/2006/10/04/1320097.aspx