目前我正在尝试使用配置文件来提供如下所示的 Unity 框架信息......
<configuration>
<unity>
<typeAliases>
<typeAlias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity, Culture=neutral, Version=1.1.0.0, PublicKeyToken=31bf3856ad364e35" />
</typeAliases>
<containers>
<container>
<types>
<type type="Common.ISharedConfiguration, Common, Version=3.1.0.0, Culture=neutral, PublicKeyToken=1111111111111111" mapTo="Common.SharedConfigurationManager, Common, Version=3.1.0.0, Culture=neutral, PublicKeyToken=1111111111111111">
<lifetime type="singleton" />
<typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<constructor>
<param name="OurEnumChoice" parameterType="MyProjectsEnum" >
<value value="MyProjectsEnum.OurFirstConstant" type="MyProjectsEnum"/>
</param>
</constructor>
</typeConfig>
</type>
</types>
</container>
</containers>
</unity>
</configuration>
如果我选择类似的东西System.String
并让我的具体类有一个字符串的构造器,那么这个 Unity 的配置文件信息效果很好。我选择使用Enum
而不是字符串 Unity 的那一刻会引发这样的错误......
无法从程序集 Microsoft.Practices.Unity.Configuration 加载类型 MyProjectsEnum,Version=1.1.0.0,Culture=neutral,PublicKeyToken=31bf33856ad364e35
我想我需要了解通过这个配置过程,除了简单类型之外,我可以通过 Unity 作为一种理解类型传递什么。