|
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
|
||||||||||||||||
Получить путь к пользовательской My.dll при выполнении11.11.2015, 16:18. Показов 3400. Ответов 3
Метки нет (Все метки)
Имеется сборка и в ней пролинкована моя библиотека. Подскажите, как получить адрес этой библиотеки программно?
Нужно что-то вроде
1. Первый метод возвращает AssemblyName's с пустыми AssemblyName.FullName (как, впрочем, и в других свойствах путей мне найти не удалось); 2. Второй метод прекрасно работает для .Net-библиотек, но не видит мою. (как я понимаю, т.к. метод из моей библиотеки запускается после текущего, то она возможно не успела пролинковаться). По поводу идеи (зачем это надо) : Загорелся я интересом, чисто для себя, создать программку, которая могла бы сама себя создавать (копировать все запускаемые файлы в указанную папку и запускаться оттуда, чтобы наглядно разобраться откуда что берётся при компиляции). В итоге, был крайне удивлён отсутствием имени/адреса сборки в AssemblyName. И откуда вообще моя сборка черпает инфу о том, где расположена My.dll? Проясните, пожалуйста. Добавлено через 2 часа 12 минут В общем, из того, что нашёл. Если сборка загружена в домен (загружается во время исполнения при первом обращении к классу сборки), то можно получить так:
Иначе, если планируется узнать адреса только тех сборок, которые копируются в каталог приложения (нестандартные сборки в references, у которых в свойствах указано Copy local = true), исключая уже установленные, например System, на форумах предлагают так:
0
|
||||||||||||||||
| 11.11.2015, 16:18 | |
|
Ответы с готовыми решениями:
3
Как получить путь к пользовательской директории "Temp"? ОШИБКА: при выполнении COPY в файл нельзя указывать относительный путь mshtml.dll При выполнении Submit у формы ничего не происходит |
|
Администратор
|
|||||||
| 13.11.2015, 02:01 | |||||||
|
Kamerton, в метаданных сборки хранятся только имена сборок от которых она зависит. То есть имя (без расширения), версия, культура и маркер открытого ключа. Сборки загружаются по мере необходимости и в этот момент CLR проверяет ряд каталогов в поисках нужной сборки. Соответственно если сборка найдена и загружена, то только тогда у нее появляется путь. Чтобы написать единое решение можно сначала загрузить сборки, а потом уже анализировать их расположение.
1
|
|||||||
|
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
|
||
| 17.11.2015, 14:36 [ТС] | ||
![]() Ведь где-то ж написано, где искать... И больше всего меня раздражает, что компьютер знает где это, а я - нет
0
|
||
|
Администратор
|
|
| 17.11.2015, 19:31 | |
|
Kamerton, это называется assembly probing. В инете хватает статей на эту тему:
MSDN: How the Runtime Locates Assemblies Codeproject: Assemblies: locating, binding and deploying Также тема хорошо раскрыта у Рихтера.
0
|
|
| 17.11.2015, 19:31 | |
|
Помогаю со студенческими работами здесь
4
При выполнении проекта, с подключенной стороней dll выпадает исключение Путь к пользовательской папке temp
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|