Мы только что обновили проект с Prism 2.0 до Prism 4.0, и у нас возникли проблемы с Unity. По-видимому, в конфигурации XML-контейнера Unity 2.0 произошли некоторые изменения, поскольку мы получаем в качестве нашей первой ошибки «Нераспознанный элемент 'typeConfig'". Вот код:
// ----------------------- App.config
<configSections>
<section name="runDataParserConfiguration" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" />
</configSections>
<runDataParserConfiguration>
<typeAliases>
<typeAlias alias="IRunDataDispatcher" type="RunDataParser.Interface.IRunDataDispatcher, RunDataParser.Interface" />
<typeAlias alias="IRunDataParser" type="RunDataParser.Interface.IRunDataParser, RunDataParser.Interface" />
<typeAlias alias="IRunDataParserArray" type="RunDataParser.Interface.IRunDataParser[], RunDataParser.Interface" />
<typeAlias alias="Dispatcher" type="RunDataParser.Common.Dispatcher, RunDataParser.Common" />
<typeAlias alias="Parser1" type="RunDataParser.Parser1, RunDataParser" />
<typeAlias alias="Parser2" type="RunDataParser.Parser2, RunDataParser" />
<typeAlias alias="Parser3" type="RunDataParser.Parser3,RunDataParser" />
<typeAlias alias="Parser4" type="RunDataParser.Parser4, RunDataParser" />
<typeAlias alias="Parser5" type="RunDataParser.Parser5, RunDataParser" />
<typeAlias alias="Parser6" type="RunDataParser.Parser6, RunDataParser" />
<typeAlias alias="Parser7" type="RunDataParser.Parser7, RunDataParser" />
<typeAlias alias="Parser8" type="RunDataParser.Parser8, RunDataParser" />
<typeAlias alias="Parser9" type="RunDataParser.Parser9, RunDataParser" />
</typeAliases>
<containers>
<container>
<types>
<type type="IRunDataParser" mapTo="Parser1" name="parser1" />
<type type="IRunDataParser" mapTo="Parser2" name="parser2" />
<type type="IRunDataParser" mapTo="Parser3" name="parser3" />
<type type="IRunDataParser" mapTo="Parser4" name="parser4" />
<type type="IRunDataParser" mapTo="Parser5" name="parser5" />
<type type="IRunDataParser" mapTo="Parser6" name="parser6" />
<type type="IRunDataParser" mapTo="Parser7" name="parser7" />
<type type="IRunDataParser" mapTo="Parser8" name="parser8" />
<type type="IRunDataParser" mapTo="Parser9" name="parser9" />
<type type="IRunDataDispatcher" mapTo="Dispatcher" name="runDataDispatcher" />
<type type="Presentation.RawDataManagement.Wrapper.ParserDispatcherWrapper, RawDataManagement">
<typeConfig>
<constructor>
<param name="runDataDispatcher" parameterType="Dispatcher" />
<param name="runDataParsers" parameterType="IRunDataParserArray">
<array>
<dependency name="parser1" />
<dependency name="parser2" />
<dependency name="parser3" />
<dependency name="parser4" />
<dependency name="parser5" />
<dependency name="parser6" />
<dependency name="parser7" />
<dependency name="parser8" />
<dependency name="parser9" />
</array>
</param>
</constructor>
</typeConfig>
</type>
</types>
</container>
</containers>
</containers>
// --------------------------------------------- -------
Я прокомментировал узел typeConfig и получил ошибку «Не найдено допустимых атрибутов для построения значения параметра runDataDispatcher. Пожалуйста, проверьте файлы конфигурации.»
После этого и проведя некоторые исследования, я удалил атрибуты parameterType, но это не сработало.
Я прокомментировал узел typeAliases и изменил узлы typeAlias на псевдоним, также прокомментировал узел типов (под узлом) и изменил тип его дочерних узлов для регистрации. Это не сработало.