Как я могу добавить путь (и) в порядок поиска DLL - PullRequest
6 голосов
/ 27 июля 2011

У меня есть приложение .NET, в котором я хочу искать другие пути для зависимых DLL, кроме стандартного GAC, текущего каталога, областей PATH.Можно ли сказать приложению сделать это?

Например:

Скажите приложению искать в "[пути к исполняемому файлу] \ зависимые библиотеки DLL".

Ответы [ 2 ]

6 голосов
/ 27 июля 2011

Вы можете добавить частный путь поиска сборки, используя элемент <probing> в файле .config.

2 голосов
/ 27 июля 2011

Альтернативный подход к настройке зондирования в вашей конфигурации (если вам требуется больше гибкости) - это то, что вы можете добавить свой собственный обработчик для поиска в других местах и ​​загрузить их самостоятельно.

В основном методе, который запускает вашapp

AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainAssemblyResolve;

добавить обработчик с вашим собственным методом для получения имени и поиска в других местах -

private static Assembly CurrentDomainAssemblyResolve(object setnder, ResolveEventArgs args)
{
     return LoadEmbeddedAssembly(args.Name);
}

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

...