如何解决XAML设计器错误:该文档包含必须在加载设计器之前修复的错误

时间:2009-03-15 12:24:29

标签: .net visual-studio-2008 xaml assemblies

我有一个XAML文件,它引用了定义到另一个程序集中的自定义控件。它在运行时编译并完美运行,但XAML设计器窒息而且没有显示设计内容。

<Window x:Class="MyProgram.AboutWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:copy="clr-namespace:MyCompany.Common.CopyProtection;assembly=Common"
    Title="About Box" Height="400" Width="400" SizeToContent="Height">
    <copy:RegistrationPanel  />
</Window>

MyCompany.Common.CopyProtection类在Common程序集内部运行,该程序集位于此项目的引用中。该课程是公开的,并且是新建的。

我正在使用Visual Studio Express 2008和.NET 3.5 SP1。以下是错误:

  

问题加载

     

该文件包含   必须在之前修复的错误   设计师可以加载。重新加载   你修好后的设计师   错误。

     

错误1 类型   'copy:RegistrationPanel'不是   找到。确认您没有遗漏   汇编参考和所有   参考组件已经   建成。
  错误2 大会'常见'是   未找到。确认您不是   缺少装配参考。也,   验证您的项目和所有   引用的程序集已经构建。

任何人都知道如何解决这些错误,所以我可以再次开始使用设计器。设计人员非常实用,可以选择XAML元素并快速跳转到XAML代码中。

2 个答案:

答案 0 :(得分:3)

除了最简单的任务之外,VS2008附带的WPF设计器不适合所有人。我的建议是不要使用它,而是使用Blend,如果可以,或者Kaxaml用于较小的XAML测试。

通过将.xaml扩展名映射到标准XML编辑器,我完全关闭了XAML编辑器。这样可以缩短加载时间,并避免XAML设计人员发出的所有这些恼人的“错误”。

答案 1 :(得分:1)

我有一个问题,我将样式作为StaticResource,在将它们更改为DynamicResource后,它对我来说效果很好。