Я собираюсь подойти к этому ответу, игнорируя часть уравнения MAF и сосредоточившись на проблеме AppDomain. Контейнер IoC может теоретически делать то, что вы описываете, предполагая, что точка входа IoC наследуется от MarshalByRefObject или заключена в класс, который, в свою очередь, наследует от MarshalByRefObject. Я уверен, что вы знаете это с показателем в 29 КБ +, но:
1) К объектам, которые наследуются от MarshalByRefObject, можно получить доступ через границы AppDomain через прокси (то есть все вызовы перенаправляются через границу домена приложения к объекту).
2) Сериализуемые объекты можно передавать через границу AppDomain посредством сериализации, то есть вы можете получить еще одну их копию в другом AppDomain.
По ряду причин вы не захотите сериализовать весь контейнер IoC и отправить его через границу AppDomain. Во-первых, затраты на это могут быть огромными, а во-вторых, за контейнером IoC, скорее всего, стоит много сантехники, которую нельзя сериализовать. Поэтому единственный возможный способ это работает, если:
1) Сам контейнер IoC был MarshalByRef или был обернут таким
и
2) Все объекты, которые вы получали из контейнера IoC, были правильно настроены для междоменного использования (сериализуемого или MBR-наследования).
Если оба приведенных выше факта верны, то теоретически вы можете использовать контейнер IoC, размещенный в главном домене приложений, из других доменов приложений. Вы, вероятно, сделаете это, определив хост-адаптер MAF, который является специфическим для методов Resolve контейнера IoC (или любого другого эквивалента в используемом вами инструменте IoC).
Имейте в виду, что ОЧЕНЬ много функциональности IoC (особенно AOP) реализованы с использованием тех же API прокси, которые также использует связь между приложениями. Я могу определенно увидеть это усложняющим, если вы попытаетесь использовать контейнер IoC для чего-то большего, чем базовые сериализуемые структуры и службы, наследуемые MBR.