Динамическая загрузка Dll из ресурсов и ее использование - C#

Узнай цену своей работы

Формулировка задачи:

Пытаюсь разобраться для себя , прошу помощи сделал как в статье https://habrahabr.ru/post/85480/ для теста скачал dotnetzip (Ionic.Zip.dll) добавил ее в ресурсы запаковывать не стал пример использования
Листинг программы
  1. using Ionic.Zip;
  2. using (ZipFile zip = ZipFile.Read(ExistingZipFile))
  3. {
  4. ZipEntry e = zip["MyReport.doc"];
  5. e.Extract(OutputStream);
  6. }
Листинг программы
  1. private static Assembly AppDomain_AssemblyResolve(object sender, ResolveEventArgs args)
  2. {
  3. // Загрузка сборки из ресурсов.
  4. using (var resource = new MemoryStream(Resources.Ionic_Zip))
  5. using (var reader = new BinaryReader(resource))
  6. {
  7. int bufLength = Convert.ToInt32(resource.Length);
  8. var buffer = reader.ReadBytes(bufLength);
  9. return Assembly.Load(buffer);
  10. }
Листинг программы
  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. AppDomain.CurrentDomain.AssemblyResolve += AppDomain_AssemblyResolve;
  4. }
Вот как обратиться к этой DLL и использовать методы из нее?

Решение задачи: «Динамическая загрузка Dll из ресурсов и ее использование»

textual
Листинг программы
  1.             string text;
  2.             using (ZipFile zip = ZipFile.Read("base.zip", options))
  3.             {
  4.                 ZipEntry ee = zip["base.csv"];
  5.                 using(var OutputStream = new MemoryStream())
  6.                 {
  7.                     ee.Extract(OutputStream);
  8.                     OutputStream.Position = 0;
  9.                     using (var reader = new StreamReader(OutputStream))
  10.                     {
  11.                         text = reader.ReadToEnd();
  12.                     }
  13.                 }
  14.             }
  15.  
  16.             MessageBox.Show(text);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы