Динамическая загрузка 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д