我使用Unity爲我的IoC容器,並在我的引導程序我有這樣的代碼:如何從Xaml創建ModuleCatalog?
protected override IModuleCatalog CreateModuleCatalog()
{
return Microsoft.Practices.Prism.Modularity.ModuleCatalog.CreateFromXaml(
new Uri("modulecatalog.xaml", UriKind.Relative));
}
,我創建了一個名爲它的XML文件「modulecatalog.xaml」與此:
<?xml version="1.0" encoding="utf-8" ?>
<Modularity:ModuleCatalog
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Modularity="clr-namespace:Microsoft.Practices.Prism.Modularity;assembly=Microsoft.Practices.Prism">
</Modularity:ModuleCatalog>
ModuleCatalog未發現:
而且我已經在XAML說Microsoft.Practices.Prism.Modularity找不到和模塊化收到錯誤。
這是非常令人沮喪。我的項目中包含Microsoft.Practices.Prism。我的Bootstrapper中的代碼很明顯地編譯爲Microsoft.Practices.Prism.Modularity.ModuleCatalog。但更奇怪,如果我改變CreateModuleCatalog功能如下:
using Microsoft.Practices.Prism.Modularity;
...
protected override IModuleCatalog CreateModuleCatalog()
{
return ModuleCatalog.CreateFromXaml(
new Uri("modulecatalog.xaml", UriKind.Relative));
}
它說,CreateFromXaml上不存在ModuleCatalog。找到ModuleCatalog沒有問題,但是如果我沒有每次輸出完整的名稱空間,那麼該函數顯然不存在。 WTF正在進行?
有趣。我目前正在尋找相同的=)。如果我找到答案,我在這裏發帖 – KroaX