Silverlight 4:如何从另一个程序集引用类

时间:2010-09-08 00:52:37

标签: silverlight silverlight-4.0 assemblies

在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'   是一个未知的命名空间。

目前还不清楚为什么指定的命名空间是未知的(那些程序集由当前命名空间引用)。

请告知。

欢迎任何想法。

1 个答案:

答案 0 :(得分:2)

我敢打赌,你的应用程序项目中没有对共享/公共项目的程序集引用。