我正在制作一个必须使用另一个 DLL 的 DLL。例如,在我的 DLL 中,我想使用“Ionic.Zip”组件来解压缩文件。怎么可能呢?
我从资源中找到了一些使用 DLL 的代码,但我不知道如何在我的代码中使用:这是函数:
private System.Reflection.Assembly ResolveAssemblies(object sender, System.ResolveEventArgs e)
{
dynamic desiredAssembly = new System.Reflection.AssemblyName(e.Name);
if (desiredAssembly.Name == "Ionic_Zip")
{
return System.Reflection.Assembly.Load(Properties.Resources.Ionic_Zip);
}
else {return null; }
}
在 form_load 上:
AppDomain.CurrentDomain.AssemblyResolve += ResolveAssemblies;
但是当我想使用它时,Ionic_Zip 出现错误。例如,在我的 WinForm 应用程序中,我有一个类似下面的函数来解压缩使用 Ionic_Zip 组件的文件:
private void UnzipUpdtFile()
{
// extract all files in an existing zip that uses encryption
using (var zip = Ionic.Zip.ZipFile.Read(UpdFilePCAdrss + @"\" + spl[spl.Length - 1]))
{
zip.Password = ZipPassword;
zip.ExtractAll(UpdFilePCAdrss);
}
}
如何在这个功能上使用它?