Компактный каркас не поддерживает настройку пути зондирования в файле app.config. Хотя есть несколько вещей, которые вы можете попробовать в качестве обходного пути.
Моим первым предположением было бы добавить подпапку в путь поиска системного загрузчика, хотя я не знаю, действительно ли я когда-либо пробовал ее для управляемых сборок. Чтобы расширить путь к загрузчику, просто добавьте ваш путь в качестве еще одной строки в разделе реестра MULTI_SZ по адресу [HKLM\Loader\SystemPath]
. Я также не уверен, требует ли это мягкого сброса, чтобы заставить ОС принять изменения. Вещание WM_SETTINGSCHANGE
также стоит попробовать.
Второй вариант для управляемых сборок состоит в том, чтобы вручную загрузить сборку, когда вы подойдете, - прежде чем использовать какие-либо классы из цели. Вызовите Assembly.LoadFrom
, чтобы загрузить его, и в этот момент CLR сможет загрузить его.
Второй вариант для собственных библиотек DLL - вызвать P / Invoke для DLL с полным путем к цели. После загрузки первым P / Invoke любые дальнейшие вызовы имени dll (даже без пути) будут корректно разрешены, так как он будет использовать только внутренний дескриптор, полученный с помощью LoadLibrary
.