我們剛將項目從棱鏡2.0升級到棱鏡4.0,我們遇到了Unity問題。顯然,unity 2.0容器XML配置有一些變化,因爲我們得到了第一個錯誤「無法識別的元素」typeConfig'「。下面是代碼:Unity 2.0中的XML配置更改
// -----------------------的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節點更改爲別名,還評論了類型節點(在節點下)並將其子節點類型變爲要註冊的類型。非工作。至於你提到現在<typeAlias>
是<alias>
和<type>
應該是一個<register>
嗨Tuzo,謝謝你的回答!我們得到了正確的配置。我在[這裏]發佈了代碼(http://compositewpf.codeplex.com/discussions/278726),因爲我無法在這裏發佈它。 – kima05
請不要忘記將此問題標記爲「已回答」。 – ErnieL