Форум программистов, компьютерный форум, киберфорум
.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
7 / 6 / 5
Регистрация: 16.07.2015
Сообщений: 147

Как указать путь из другого каталога для загрузки DLL сборки

11.01.2017, 11:01. Показов 1663. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день ☺
Вопрос. Представим, что есть программа run.exe. В рабочем каталоге есть подкаталоги A и B. В них соответственно есть libA.dll и libB.dll . Требуеся гибко задать пути, чтобы можно было в будущем редактировать структуру приложения.

Задать путь к dll из run.exe легко. В app.config пишем
XML
1
2
3
4
5
<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="A; B" />
        </assemblyBinding>
</runtime>
Приложение найдёт файлы dll.

Теперь затруднение. libB.dll использует libA.dll (Например в libA какие то глобальные типы, которые используется в разных компонентах) . Как настроить, чтобы libB.dll могло загрузить libA.dll ? Сделал app.config для libB.dll . Через codeBase не получается, наверное не правильно пишу. Через probing тоже не получается.
Как это можно сделать? Какую технологию посоветуете? IoC вроде бы не подходит, если использовать структуры и статические классы.

Заранее спасибо и с Рождеством Христовым.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.01.2017, 11:01
Ответы с готовыми решениями:

Подключение сторонней библиотеки - как указать путь к .dll файлам
Не могу разобраться как указать путь к .dll файлам пробовал следующее: прописывать в свойствах проекта во вкладке &quot;каталоги...

Правильный указать путь к файлу стилей относительно корневого каталога
Приветствую. Если есть на хосте папка, то чтобы со странице перейти к странице, которая в папке нужно написать так: ...

Указать путь к dll
После компиляции проекта в папке Relase рядом с .exe файлом лежат dll, xml. Хочу их перенести в отдельную папку в этом же каталоге, как мне...

1
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
11.01.2017, 12:40
Цитата Сообщение от Antoniwww Посмотреть сообщение
Как настроить, чтобы libB.dll могло загрузить libA.dll ?
Используйте событие AppDomain.AssemblyResolve
Когда длл не может быть найдено, вызывается это событие и вы можете загрузить длл откуда угодно, согласно вашей программной логике.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.01.2017, 12:40
Помогаю со студенческими работами здесь

скрипт, для рекурсивного обхода заданного каталога (полный путь+имя файла/каталога, размер, дата создания)
Только начинаю работать с Ruby. Работа с файловой системой. Вот нужен такой вот скрипт написать, не совсем понимаю с чего бы начать. ...

Как указать путь для FileListBox ?
Как указать путь для FileListBox что бы он брал файлы не там где расположенна программа а куда задаш?

Как пользователю указать путь для экспорта?
Call notesEmbeddedObject.ExtractFile( path$ ) Не хочу хардкодить путь. Нужно чтобы пользователь сам выбирал. Как это сделать? ...

Как указать путь к файлу для работы
Работаю с xml файлом, app.xml, лежит в каталоге с проектом в папке App_Data. Для работы приходится писать полный путь к файлу ...

Как указать путь к файлу pdf для работы на всех ПК
Доброго времени суток. Дело вот в чем, программа в ходе работы обращается к файлу шаблону .dbf. Подскажите куда лучше разместить этот...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru