在XAML中找不到自定义Silverlight控件程序集,但是肯定会引用它

时间:2009-12-18 14:43:28

标签: silverlight xaml custom-controls

我最近在Silverlight应用程序的解决方案中添加了一个控件库项目,因此该解决方案现在有三个项目:

  • SLClient
  • SLClient.Controls
  • SLClient.Web

SLClient有一个对SLClient.Controls的项目引用,其中包含以下内容:

  • 主题
    • Generic.xaml(包含默认的CustomTextBox模板)
    • Templates.xaml(包含CustomTextBox使用的其他模板)
  • CustomTextBox.cs(从System.Windows.Controls.Control下降)

上面的xaml文件具有“资源”的构建操作和空的自定义工具属性。一切都很好,但是当SLClient中引用SLClient.Controls的XAML文件(一个视图,以及我在SLClient.Controls的Templates.xaml中合并的App.xaml)打开时,Visual Studio告诉“xmlns:SLClient_Controls”中显示错误=“clr-namespace:SLClient.Controls; assembly = SLClient.Controls”line:

  

找不到程序集“SLClient.Controls”。确认您没有错过装配参考[...]

更新:我之前提到的未加载页面是由我的XAML中的不同错误引起的。我仍然得到这个错误,并且仍然想知道是什么导致它。它是XAML编译器中的错误吗?从XAML生成的代码编译得很好。

2 个答案:

答案 0 :(得分:1)

如果您在SLClient.Controls的项目中添加了引用,那么当前这些程序集不会像在正常的.NET 2.0项目中那样在SLClient中自动引用。

因此,请确认SLClient.Control项目中的所有引用也是在SLClient项目中手动添加的。例如,如果在SLClient.Control中添加System.Windows.Toolkit引用,则还必须在SLClient中添加相同的引用。

这是已知错误,我已向Microsoft报告此错误。它仍在处理中。

答案 1 :(得分:0)

听起来像是一个很好的参考。试试这个:

  • 删除项目中的引用和XAML中的xmlns引用。
  • 清理并重建所有项目
  • 重新添加项目参考。
  • 构建
  • 重新添加XAML xmlns参考
  • 重建

HTH,
标记