Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2012, 20:20   #1
an1s1
Пользователь
 
Регистрация: 02.07.2012
Сообщений: 20
По умолчанию Динамическая подгрузка dll

Есть определенный интерфейс, есть классы, реализующие его и хранящиеся в отдельный dll(плагины). Как во время работы программы их динамически подгружать и использовать? Заранее спасибо.
an1s1 вне форума Ответить с цитированием
Старый 06.07.2012, 20:31   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

an1s1

Есть определенный интерфейс, есть классы, реализующие его и хранящиеся в отдельный dll(плагины). Как во время работы программы их динамически подгружать и использовать? Заранее спасибо.

способ попроще: гоогле c# mef
способ посложнее (но и наворотов больше): гоогле c# maf
Rififi вне форума Ответить с цитированием
Старый 06.07.2012, 20:35   #3
an1s1
Пользователь
 
Регистрация: 02.07.2012
Сообщений: 20
По умолчанию

К сожелению, мне нужно писать под 2.0, так что эти два варианта отпадают. Попутно нашел reflection'ы, но код будет защищаться протекторами, а они их не любят(говорят, сам с reflection еще не работал).
an1s1 вне форума Ответить с цитированием
Старый 06.07.2012, 20:54   #4
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

DLL managed или unmanaged?
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Старый 06.07.2012, 20:55   #5
an1s1
Пользователь
 
Регистрация: 02.07.2012
Сообщений: 20
По умолчанию

managed. И dll и приложение.
an1s1 вне форума Ответить с цитированием
Старый 06.07.2012, 21:47   #6
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

DLL
Код:
using System;

public class Test
{
    public Test()
    {
    }
    public void TestMethod()
    {
        Console.WriteLine("Тест прошел успешно");
    }
}
Programm
Код:
using System;
using System.Reflection;

class Program
{
    static void Main(string[] args)
    {
        Assembly assembly = Assembly.LoadFile("E:\\MymanagedDll.dll");
        object testClass = assembly.CreateInstance("Test");
        testClass.GetType().GetMethod("TestMethod").Invoke(testClass, null);
        Console.ReadKey(true);
    }
}
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Старый 06.07.2012, 22:48   #7
an1s1
Пользователь
 
Регистрация: 02.07.2012
Сообщений: 20
По умолчанию

Спасибо. Буду пробовать.
an1s1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая загрузка dll Dizelektwo Win Api 8 20.06.2012 16:56
Подгрузка функции из .dll iLnes Общие вопросы Delphi 16 23.01.2012 07:05
Посоветуйте с DLL (динамическая загрузка) yasic Общие вопросы Delphi 4 18.01.2011 18:24
Динамическая загрузка DLL ImportDLL Общие вопросы C/C++ 2 12.06.2009 11:33