11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
|
|||||||||||
1 | |||||||||||
Не подключается dll библиотека14.01.2015, 16:42. Показов 3269. Ответов 11
Метки нет Все метки)
(
Здравствуйте, уважаемые форумчане!
Пишу мультиязычную программу. Для каждого языка создаю отдельную dll, что-бы ее можно было кинуть в папочку с прогой и прога сразу нашла новый язык, без всяких using <имя_библиотеки> в коде основной программы. Для этого использую следущий код
НО, если переместить dll-ку в другую папку и указать путь к этой папке
Вопрос, почему?
0
|
14.01.2015, 16:42 | |
Ответы с готовыми решениями:
11
Не подключается библиотека Не подключается библиотека SmallBasic.Library |
![]() 123 / 123 / 72
Регистрация: 11.05.2014
Сообщений: 331
|
|
14.01.2015, 19:36 | 2 |
Попробуйте использовать Assembly.LoadFrom вместо Assembly.Load.
0
|
Администратор
![]() ![]() |
|
14.01.2015, 23:10 | 3 |
qwertun, почему ты не использвуешь стандартные механизмы локализации с использованием satellite assemblies с локализованными ресурсами? Windows Forms и WPF поддерживают это.
0
|
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
|
|
15.01.2015, 00:22 [ТС] | 4 |
0
|
Администратор
![]() ![]() |
|
15.01.2015, 00:42 | 5 |
Значит изучи их прежде чем писать собственную реализацию:
1
|
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
|
|||||||||||
15.01.2015, 11:48 [ТС] | 6 | ||||||||||
теперь в
Если делать Assembly.LoadFile результат такой-же как и при Assembly.LoadFrom. Добавлено через 4 минуты OwenGlendower, мне не очень хочеться так делать потому-что каждый новый язык нада прописывать в коде программы, добавлять файлы ресурсов и тд и тп. Я выбрал метод, который делаю, потому-что добавление нового языка не приведет к изменению кода самой программы, просто dll-ку кидаем в папку с прогой и всё, есть новый язык. Добавлено через 12 минут Detect, работает, спасибо, я просто немного зафейлил и в Type T = asm.GetType писал полный путь вместо имени сборки)
0
|
Администратор
![]() ![]() |
||||||
15.01.2015, 12:46 | 7 | |||||
qwertun,
Тебе виднее, но стандартный механизм локализации тоже не требует вносить изменения в код для поддержки нового языка.
В приведенном примере советую заменить Environment.CurrentDirectory на AppDomain.CurrentDomain.BaseDirectory и использовать класс Path для работы с путями:
0
|
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
|
|
15.01.2015, 13:40 [ТС] | 8 |
0
|
Администратор
![]() ![]() |
|
15.01.2015, 13:45 | 9 |
qwertun, тем что т.н. "текущий каталог" может указывать куда угодно, а AppDomain.CurrentDomain.BaseDirectory всегда указывает на папку приложения. Класс Path делает код более понятным и облегчает работу с путями.
0
|
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
|
|
16.01.2015, 12:02 [ТС] | 10 |
ну хз, юзаю Environment.CurrentDirectory, и он всегда указывает на папку приложения
0
|
Администратор
![]() ![]() |
|
16.01.2015, 19:47 | 11 |
qwertun, вот несколько ситуаций когда CurrentDirectory будет указывать не на папку с программой:
1
|
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
|
|
16.01.2015, 21:18 [ТС] | 12 |
OwenGlendower, спасибо за информацию
0
|
16.01.2015, 21:18 | ||||||
Помогаю со студенческими работами здесь
12
Не подключается библиотека small basic в c#
Не подключается dll. Директива using не работает
Библиотека(dll) Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
![]() |
Новые блоги и статьи
![]() |
||||
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
|
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
|
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
|
Real PATH definitions in bash scripts
jigi33 13.03.2025
Как поймать путь и путь к директории относительно запускаемого файла в BASH
1. поймать путь через вывод $(pwd)
2. более правильно - на основе realpath (см. скриншот)
|
Django или Flask: что выбрать для веб-разработки на Python
py-thonny 13.03.2025
Django – это высокоуровневый фреймворк, который придерживается философии "всё включено". Он предоставляет разработчику готовые решения для большинства типичных задач веб-разработки: от аутентификации. . .
|
Непрерывное развертывание в Java с Kubernetes
Javaican 13.03.2025
Чем так привлекателен Kubernetes для развертывания Java-приложений? Этот оркестратор контейнеров позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными. . .
|
Предотвращение XSS, CSRF и SQL-инъекций в JavaScript
run.dev 13.03.2025
JavaScript занимает первые позиции среди языков веб-разработки, но его распространенность делает его привлекательной целью для злоумышленников. Межсайтовый скриптинг (XSS), межсайтовая подделка. . .
|
PHP 8: JIT-компиляция и улучшение производительности
Jason-Webb 13.03.2025
PHP никогда не славился своей скоростью. Многие сталкивались с проблемами производительности при работе со сложными вычислениями или обработкой больших объемов данных. Традиционная модель выполнения. . .
|
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
|
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
|