Получение пути сборки, зарегистрированного в gacutil -i, для его динамической загрузки - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть сборка, которую я не хочу добавлять в свой проект VisualStudio в качестве ссылки (VS2015), потому что я хочу загружать ее динамически во время выполнения (с Assembly.LoadFrom (dllPath)), поэтому она выиграла не может быть включено в папку wwwroot/app.

DLL может быть загружен из любого места, но причина, по которой я использую gacutil -i для добавления сборки в GA C, заключается в том, что я хочу уменьшите уровень доверия приложения с полного, и пока результаты моих тестов показывают, что это возможно, только если я установлю переменную dllPath, указывающую на папку GA C (C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ \ v4.0_1.0.0.0__52b1da88d42d37eb) \

Пока, если я знаю путь к сборке в папке GA C (как человек, я могу его найти), она работает корректно. Что мне не хватает, как избежать включения пути ни в файл web.config (или любой подобный файл конфигурации), ни в исходный код.

Моя настоящая проблема заключается в следующем: сборка зарегистрирована в GA C, gacutil -l может найти его, он расположен в указанном выше месте. Но как я могу использовать его из своего кода VB, не добавляя его в качестве ссылки? Со стандартным Imports он не работает, поскольку VS говорит, что пространство имен не существует.

Я также пытался зарегистрировать его в реестре с помощью команды regasm, но он устанавливает путь к исходному расположению файла (это кажется очевидным, поскольку команда не имеет ничего общего с GA C).

Итак, вкратце: после установки сборки в GA C, я хотел бы найти его путь программно (из кода VB. NET), зная только его имя. Есть ли хороший способ сделать это?

...