ContextRegistry rootContextName всегда имеет значение null или empty

#c# #.net #spring.net

#c# #.net #spring.net

Вопрос:

Использование Spring.ЧИСТЫЙ IoC для внедрения объектов зависимостей в свойства. Приложение является подключаемым модулем Outlook.

Код:

 IApplicationContext ctx = ContextRegistry.GetContext();
this.Property = (MyObject)ctx.GetObject("MyObject");
  

Конфигурация:

 <configuration>
  <configSections>
    <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
    </sectionGroup>
  </configSections>
  <spring>
    <context>
      <resource uri="config://spring/objects"/>
    </context>
    <objects xmlns="http://www.springframework.net">
      <description></description>
      <!--Business Logic Layer Binding Objects-->
      <object name="MyObject" 
              type="Quadrant2.MSCRM.Recruit.OfficeAddins.Toolbar.BusinessLogic.Q2_Win_SearchClient_Logic, Quadrant2.MSCRM.Recruit.OfficeAddins.Toolbar.BusinessLogic">
        <property name="SearchClientDAL" ref="DAL_SearchClient"/>
      </object>
<!-- snip -->
  

Этот код работал нормально около 2 лет, а затем мы обновили несколько сборок в Outlook для запуска в Outlook 2010 и некоторые модификации ленты — ничего, что должно повлиять на Spring.Я думаю, NET.

Начал получать исключение «Имя контекста, переданное методу getContext, не может быть null или empty», вызванное при GetContext(); вызове. При ближайшем рассмотрении я отметил, что rootContextName вызов is null — fair объясняет исключение, о котором я думал.

Также отмечено, что код будет нормально выполняться во время отладки, но завершится сбоем, как только он будет запущен вне debug. Проверенные DLL, зависимости и конфигурации находятся в нужном месте во время установки.

«Принудительно вводится» GetContext(); имя контекста «spring.root» в соответствии со rootContextName значением сеанса отладки, и исключение исчезает, но IApplicationContext возвращается значение null.

Есть идеи или очевидные проблемы здесь?