Unity不从配置文件注册程序集

时间:2011-06-13 08:38:08

标签: unity-container configuration-files bootstrapper

我知道如何在引导程序中注册程序集 通过覆盖 - > protected override void ConfigureContainer()

但我想在配置文件

上注册它

我将unity部分添加到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 :(得分:0)

我不确定我理解“注册程序集”的含义,因为它不是Unity库,文档或代码库中任何地方使用的术语。我猜你只是想加载你的配置。

假设您使用的是正确的配置文件(应用程序的app.config / web.config,.dll没有配置文件),那么您需要:

  1. 在项目中引用Microsoft.Practices.Unity.Configuration.dll。
  2. 将“使用Microsoft.Practices.Unity.Configuration”添加到包含容器初始化代码的源文件的顶部。
  3. 呼叫:

    container.LoadConfiguration();

  4. 这将从默认配置文件中的默认部分(名为unity)中的默认(未命名)容器元素加载配置。如果您想要改变这些默认值,可以使用多种选项进行自定义。

    Container.LoadConfiguration是一个扩展方法,所以如果省略using语句(上面的步骤2),调用将编译。