0

別の DLL を使用する必要がある DLL を作成しています。たとえば、私の DLL では、「Ionic.Zip」コンポーネントを使用してファイルを解凍したいと考えています。どうすればできますか?

Resources から 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);
        }
}

この関数でどのように使用できますか?

4

0 に答える 0