【发布时间】:2019-01-17 23:19:59
【问题描述】:
我怎样才能加载超过 1 个文件 DLL 使用
(( AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler() ))
这只是第一个工作,但另一个不工作?! 我需要加载两个 DLL 文件嵌入的资源,所以我可以在没有文件的情况下使用应用程序!
public MainWindow()
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve2);
InitializeComponent();
}
static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs e)
{
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("DS.WpfAnimatedGif.dll"))
{
byte[] assemblyData = new byte[stream.Length];
stream.Read(assemblyData, 0, assemblyData.Length);
return Assembly.Load(assemblyData);
}
}
static System.Reflection.Assembly CurrentDomain_AssemblyResolve2(object sender, ResolveEventArgs e)
{
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("DS.Newtonsoft.Json.dll"))
{
byte[] assemblyData = new byte[stream.Length];
stream.Read(assemblyData, 0, assemblyData.Length);
return Assembly.Load(assemblyData);
}
}
【问题讨论】: