Проблема с каталогом .NET MEF DirectoryCatalog

#excel #add-in #mef

#excel #надстройка #mef

Вопрос:

Я разрабатываю надстройку Excel и использую MEF для обеспечения расширяемости. Каталог каталога отлично работает на моем локальном диске, однако при развертывании решения для компоновки сетевого диска происходит сбой. В обычном exe-приложении эту проблему можно решить, добавив «loadFromExternalSources = true» в раздел «время выполнения» файла конфигурации приложения, однако для надстройки Excel этот файл не существует (и я не могу добавить Excel.exe.config в папку, содержащую исполняемый файл Excel, поскольку эта папка доступна только для чтения). Есть ли какой-либо способ программно включить поведение loadFromExternalSources?

Ответ №1:

Есть ли какой-либо способ программно включить поведение loadFromExternalSources?

Если вы создадите отдельный AppDomain с помощью AppDomain.CreateDomain, затем вы можете передать AppDomainSetup, который имеет свойство ConfigurationFile.

Однако я полагаю, что comvisible объекты обычно создаются в appdomain по умолчанию, поэтому заставить новый AppDomain взаимодействовать с Excel, вероятно, будет сложно. Я предполагаю, что это будет связано с классами shim в appdomain по умолчанию, которые передают вызовы через другой appdomain.