在SquadView页面的XAML文件中(VfmElitaSilverlightClientView.Pages.SquadView)我正在使用自定义值转换器。 XAML文件位于“VfmElitaSilverlightClientView”命名空间中。为转换器创建了单独的文件夹,它位于“VfmElitaSilverlightClientView.Converter”命名空间中(在同一个程序集中)。在XAML中使用转换器代码:
xmlns:Converter="clr-namespace:VfmElitaSilverlightClientView.Converter"
...
<NavigationControls:Page.Resources>
<Converter:BooleanToVisibilityConverter x:Key="resourceBooleanToVisibilityConverter" />
</NavigationControls:Page.Resources>
一切正常。在这里,我想将转换器类移动到一个自定义的单独程序集“SilverlightCommonView”中,类本身将在“SilverlightCommonView.Converter”命名空间中。 XAML代码更改为以下内容:
xmlns:Converter="clr-namespace:SilverlightCommonView.Converter;assembly=SilverlightCommonView"
...
<NavigationControls:Page.Resources>
<Converter:BooleanToVisibilityConverter x:Key="resourceBooleanToVisibilityConverter" />
</NavigationControls:Page.Resources>
在这种情况下,当应用程序抛出异常时:
未处理的异常('未处理 Silverlight应用程序出错... 代码:4004类别: ManagedRuntimeError消息: Microsoft.Practices.Unity.ResolutionFailedException: 解决依赖性失败,类型=“VfmElitaSilverlightClientView.Pages.SquadView”, 名称= “(无)”。 发生异常时:调用构造函数 VfmElitaSilverlightClientView.Pages.SquadView()。例外是:XamlParseException - 找不到类型'BooleanToVisibilityConverter',因为 'CL ...:SilverlightCommonView.Converter;装配= SilverlightCommonView' 是一个未知的命名空间。
目前还不清楚为什么指定的命名空间是未知的(那些程序集由当前命名空间引用)。
请告知。
欢迎任何想法。
答案 0 :(得分:2)
我敢打赌,你的应用程序项目中没有对共享/公共项目的程序集引用。