Unity не регистрирует сборку из файла конфигурации - PullRequest
0 голосов
/ 13 июня 2011

Я знаю, как зарегистрировать сборку в загрузчике с помощью переопределения -> защищенное переопределение void ConfigureContainer ()

, но я хочу зарегистрировать его в файле конфигурации

я добавляю раздел единстваapp.confg

  <register type="namespace.Iinterface, assembly, Version=1.0.0.0, Culture=neutral"
            mapTo="namespace.class,assembly">
    <lifetime type="singleton" />
    <constructor>
      <param name="file" value="xml"/>
    </constructor>
  </register>

</container>

этот класс не регистрирует то, что мне не хватает?

1 Ответ

0 голосов
/ 14 июня 2011

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

Предполагая, что вы находитесь в правильном файле конфигурации (app.config / web.config для приложения, .dll не имеют файлов конфигурации), затемвам необходимо:

  1. Ссылка на файл Microsoft.Practices.Unity.Configuration.dll в вашем проекте.
  2. Добавить «using Microsoft.Practices.Unity.Configuration» в начало источникафайл, содержащий код инициализации вашего контейнера.
  3. Вызов:

    container.LoadConfiguration ();

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

Container.LoadConfiguration является методом расширения, поэтому, если вы пропустите оператор using (шаг 2 выше), вызов не будет скомпилировать.

...