В настоящее время я пытаюсь использовать файл конфигурации для предоставления информации Unity Framework, которая выглядит следующим образом ...
<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 выдает ошибку, подобную этой ...
Не удалось загрузить тип MyProjectsEnum из сборки Microsoft.Practices.Unity.Configuration, версия = 1.1.0.0, культура = нейтральная, PublicKeyToken = 31bf33856ad364e35
Я думаю, что мне нужно понимание того, что я могу передать Unity как понятный тип, помимо простых типов через этот процесс конфигурации.