问题描述
|
我知道如何在引导程序中注册程序集
通过重写->受保护的重写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>
此类无法注册我所缺少的内容?
解决方法
我不确定我理解“注册程序集”的含义,因为这不是Unity库,文档或代码库中任何地方使用的术语。我猜您只是想加载配置。
假设您在正确的配置文件中(该应用程序的app.config / web.config,.dll没有配置文件),那么您需要:
在项目中引用Microsoft.Practices.Unity.Configuration.dll。
将“使用Microsoft.Practices.Unity.Configuration \”添加到包含容器初始化代码的源文件的顶部。
呼叫:
container.LoadConfiguration();
这将从默认配置文件中默认部分(名为unity)的默认(未命名)容器元素中加载您的配置。如果您想改变这些默认设置,可以自定义各种选项。
Container.LoadConfiguration是一个扩展方法,因此,如果省略using语句(上面的步骤2),则该调用将无法编译。