Динамическая загрузка Dll из ресурсов и ее использование - C#
Формулировка задачи:
Пытаюсь разобраться для себя , прошу помощи сделал как в статье https://habrahabr.ru/post/85480/
для теста скачал dotnetzip (Ionic.Zip.dll) добавил ее в ресурсы запаковывать не стал
пример использования
Вот как обратиться к этой DLL и использовать методы из нее?
using Ionic.Zip; using (ZipFile zip = ZipFile.Read(ExistingZipFile)) { ZipEntry e = zip["MyReport.doc"]; e.Extract(OutputStream); }
private static Assembly AppDomain_AssemblyResolve(object sender, ResolveEventArgs args) { // Загрузка сборки из ресурсов. using (var resource = new MemoryStream(Resources.Ionic_Zip)) using (var reader = new BinaryReader(resource)) { int bufLength = Convert.ToInt32(resource.Length); var buffer = reader.ReadBytes(bufLength); return Assembly.Load(buffer); }
private void Form1_Load(object sender, EventArgs e) { AppDomain.CurrentDomain.AssemblyResolve += AppDomain_AssemblyResolve; }
Решение задачи: «Динамическая загрузка Dll из ресурсов и ее использование»
textual
Листинг программы
string text; using (ZipFile zip = ZipFile.Read("base.zip", options)) { ZipEntry ee = zip["base.csv"]; using(var OutputStream = new MemoryStream()) { ee.Extract(OutputStream); OutputStream.Position = 0; using (var reader = new StreamReader(OutputStream)) { text = reader.ReadToEnd(); } } } MessageBox.Show(text);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д