【发布时间】:2013-10-08 14:08:21
【问题描述】:
我已经处理了AssemblyResolve-事件,但我仍然得到了FileNotFoundException。我已经订阅了类型初始化器中的事件,并在Main-method 中调用了Assembly.LoadFrom 方法:
class Program
{
static Program()
{
AppDomain.CurrentDomain.AssemblyResolve+=new ResolveEventHandler(DeployAssemblyHandler);
}
static void Main(string[] args)
{
try
{
System.Reflection.Assembly asm=Assembly.LoadFrom("AxInterop.SHDocVw.dll");
}
catch(Exception)
{
}
}
public static System.Reflection.Assembly DeployAssemblyHandler(object sender,ResolveEventArgs args)
{
Assembly asm = null;
string asmName = new AssemblyName(args.Name).Name;
string deployAssemblyDirPath = ""; // Common.AppUtil.InstallDir + AppUtil.DeployedAssemblyDir;
string[] deployDirectories = Directory.GetDirectories(deployAssemblyDirPath);
foreach(string deploy in deployDirectories)
{
try
{
asm = Assembly.LoadFrom(deploy + "\\" + asmName);
break;
}
catch (Exception ex) { }
}
return asm;
}
}
【问题讨论】:
-
文件
AxInterop.SHDocVw.dll在bin目录下吗?
标签: c# .net assemblyresolve