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