Ваш ключ: необходима авторизация | MyProxy - бесплатный обменник валидных прокси между пользователями форума.

Проверка на присутствие DLL (библиотек) в папке с программой C#

Тема в разделе C#, создана пользователем ERROR404, 14 авг 2016.

Войдите для ответа
  1. ERROR404 Администратор

    ERROR404
    Статус:
    Вне сети
    Некоторые юзеры не полностью распаковывают архив с программой и дллками, если библиотеки не будет в папке с программой, то она будет некорректно работать или вообще не откроется.

    Идём в класс Program.cs, добавляем директиву System.IO для работы с файлами (using System.IO)
    Далее ищем метод Main(), в самом начале вставляем:
    Код:
    if (!File.Exists("xNet.dll"))
                {
                    MessageBox.Show("Отсутствует xNet.dll! Эта библиотека должна лежать вместе в папке с программой! Нажмите ОК, чтобы скачать архив с программой и DLL");
                    Application.Exit();
                    return;
                }

    Вместо xNet.dll вставляем нужную вам библиотеку =)
     
    14 авг 2016 #1
    UNIX и N3V3RM0R3 нравится это.
  2. AnyBoom Новорег

    AnyBoom
    Статус:
    Вне сети
    Сообщения:
    8
    Симпатии:
    0
    Регистрация:
    13.08.16
    Не будет работать, даю 110%.
     
    15 авг 2016 #2
  3. EvilBanana Марионетка и шлюха

    EvilBanana
    Статус:
    Вне сети
    Сообщения:
    1.308
    Симпатии:
    584
    Регистрация:
    25.03.16
    но почему работает тогда?
     
    15 авг 2016 #3
  4. ERROR404 Администратор

    ERROR404
    Статус:
    Вне сети
    @AnyBoom, код не будет работать? Работает, если его вставлять в Program.cs, а не форму =)
     
    15 авг 2016 #4
  5. AnyBoom Новорег

    AnyBoom
    Статус:
    Вне сети
    Сообщения:
    8
    Симпатии:
    0
    Регистрация:
    13.08.16
    Я понимаю, что нужно вставить в Program.cs, хорошо, буду так делать.
     
    15 авг 2016 #5
  6. ERROR404 Администратор

    ERROR404
    Статус:
    Вне сети
    @AnyBoom, если это делать в форме, то будет расход лишних ресурсов компьютера. Зачем загружать форму, если нет нужных длл?)
     
    15 авг 2016 #6
  7. iPro Местный

    iPro
    Статус:
    Вне сети
    Сообщения:
    26
    Симпатии:
    25
    Регистрация:
    15.06.16
    Есть пизже способ через AppDomain, там что то типа такого
    {
      AppDomain.CurrentDomain.AssemblyResolve += ResolveEventHandler;
    }
    
    private static Assembly ResolveEventHandler(object sender, ResolveEventArgs args)
    {
        // В args вся информация об отсутствующей сборке
    }
    
    Так же в Program.cs все это делается. Тут же можно сделать OpenFileDialog что бы пользователь сам цепанул сборку :O
     
    16 авг 2016 #7
    ERROR404 нравится это.
  8. AnyBoom Новорег

    AnyBoom
    Статус:
    Вне сети
    Сообщения:
    8
    Симпатии:
    0
    Регистрация:
    13.08.16
    ыПро, как всегда пиздатую фичу скажит.
     
    17 авг 2016 #8
Загрузка...
Top