Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
TheGreatCornholio
1254 / 732 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
1

Проверка наличия и валидности DLL при старте приложения

25.11.2015, 19:36. Показов 2927. Ответов 4

Author24 — интернет-сервис помощи студентам
Есть C#.NET DLL (моя), которая является оберткой над C++ DLL(не моя). Я использую ее(их получается) в своем приложении.

Подскажите пожалуйста, правильный, с точки зрения тру-программерского подхода, способ проверки
их наличия в директории программы при старте (хотя бы, а может и в процессе функционирования - мало ли что),
а также, способ проверки на валидность (содержат ли они, то, что нужно) или на подлинность.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2015, 19:36
Ответы с готовыми решениями:

Проверка наличия DLL в заданном каталоге
Добрый день! Как можно при запуске программы (допустим по событию Form_Load) проверить наличие DLL...

Проверка валидности строк с помошью регулярных выражений
Здравствуйте. Возникла такая проблема: есть определённый набор строк, задано регулярное выражение....

EF. Есть ли возможность включить обновление базы до последней миграции автоматически при старте приложения?
Добрый день. Недавно начал изучать Entity Framework для работы с базой SQL Server Compact. База...

Создание нескольких окон при старте приложения в WPF
Эксперты, взгляните на код и оцените правильность. Есть ли здесь какие-то косяки. App.xaml ...

4
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
25.11.2015, 19:56 2
Лучший ответ Сообщение было отмечено Woldemar89 как решение

Решение

Цитата Сообщение от Woldemar89 Посмотреть сообщение
способ проверки
их наличия в директории программы при старте
Ну это, думаю, самое простое, через File.Exists()
Цитата Сообщение от Woldemar89 Посмотреть сообщение
способ проверки на валидность (содержат ли они, то, что нужно) или на подлинность.
Ваша dll, как я понимаю, обертка над С++? Определить открытый интерфейс, в нем все методы-обертки, и класс в dll, его реализующий. Это если класс такой один. Или несколько интерфейсов и несколько классов. И проверять, реализует ли класс (классы) нужный интерфейс (интерфейсы).
Так же можете глянуть мою темку по MEF, может что и примените.
На подлинность - подпишите сборку строгим именем, и основное приложение сможет работать только с ней.
1
TheGreatCornholio
1254 / 732 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
25.11.2015, 20:15  [ТС] 3
insite2012, спасибо.

Цитата Сообщение от insite2012 Посмотреть сообщение
Определить открытый интерфейс, в нем все методы-обертки, и класс в dll, его реализующий. Это если класс такой один.
Или несколько интерфейсов и несколько классов. И проверять, реализует ли класс (классы) нужный интерфейс (интерфейсы).
Так же можете глянуть мою темку по MEF, может что и примените.
На подлинность - подпишите сборку строгим именем
Хм, не думал, что это может оказаться настолько накладно, класс - один, методов - много, но, в целом, они просты.
Наверно - буду использовать последнее.

Как думаете, для C++ DLL, контрольная сумма, версия, - подойдут?

То есть в итоге:

1. Подписываем сборку C# DLL.
2. В приложении чекаем C++ DLL. (Контрольная сумма файла или\и версия).
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
25.11.2015, 20:18 4
Лучший ответ Сообщение было отмечено Woldemar89 как решение

Решение

Цитата Сообщение от Woldemar89 Посмотреть сообщение
1. Подписываем сборку C# DLL.
2. В приложении чекаем C++ DLL. (Контрольная сумма файла или\и версия).
В самом простом варианте, думаю, будет достаточно.
1
TheGreatCornholio
1254 / 732 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
25.11.2015, 20:22  [ТС] 5
insite2012, благодарю!
0
25.11.2015, 20:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2015, 20:22
Помогаю со студенческими работами здесь

Запуск приложения при старте windows
Вообщем интересует так как сделать запуск приложения при старте windows и чтобы его можно было...

Проверка валидности e-mail в цикле
Всем доброго времени суток, помогите пожалуйста разобраться) есть код: //User input ...

Алгоритм Луна (проверка валидности кредитных карт)
Прошу помочь разобраться с алгоритмом Луна, используемый для валидности кредитных карт. Какой лучше...

Ошибка при запуске приложения в случае автозапуска при старте Windows
Мне нужно иметь два способа запуска моей программы: обычный запуск с отображением формы, и скрытый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru