Как подключить dll динамически? - C#

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

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

Допустим, есть программа на c# и к ней dll тоже на c#. Обе писал я. Пусть в папке Program лежит exe программы. А dll лежит в Program/bin к примеру. Как мне ее динамически подключить, для ее использования. Dll не нужно добавлять внутрь проекта, т.к. обновления программы будут реализованы через изменение этой dll. Желательно чтобы классы и методы из dll добавлялись все и автоматически.

Решение задачи: «Как подключить dll динамически?»

textual
Листинг программы
 static void Main(string[] args)
        {
            var catalog = new AggregateCatalog();
            catalog.Catalogs.Add(new AssemblyCatalog(Assembly.Load("path")));
            var container = new CompositionContainer(catalog);
            var test = new Test();
            try
            {
                container.ComposeParts(test);
                var foo = new Foo();
                test.DemoToResolveViaMef.Add(foo);
                test.DemoToResolveViaMef.Change(foo);
                test.DemoToResolveViaMef.Delete(foo);
            }
            catch (CompositionException compositionException)
            {
                Console.WriteLine(compositionException);
            }
          }
 
 
class Test
    {
        [Import(typeof(IDemo))]
        public IDemo DemoToResolveViaMef { get; set; }
    }
 
    public class Foo
    {
        
    }
 
    public interface IDemo
    {
        int Add(Foo foo);
        int Delete(Foo foo);
        int Change(Foo foo);
    }
 
    [Export(typeof(IDemo))]
    public class Demo : IDemo
    {
        public int Add(Foo foo)
        {
           Console.WriteLine("Added");
           return 0;
        }
 
        public int Delete(Foo foo)
        {
            Console.WriteLine("Deleted");
            return 0;
        }
 
        public int Change(Foo foo)
        {
            Console.WriteLine("Changed");
            return 0;
        }
    }

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


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

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

12   голосов , оценка 4.083 из 5
Похожие ответы