【问题标题】:How to solve XAML designer error: The document contains errors that must be fixed before the designer can be loaded如何解决 XAML 设计器错误:文档包含在加载设计器之前必须修复的错误
【发布时间】:2010-10-13 11:03:30
【问题描述】:

我有一个 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 程序集内,该程序集位于此项目的引用中。该类是公开的,并且是全新构建的。

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

加载问题

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

错误 1 类型 'copy:RegistrationPanel' 不是 成立。确认您没有失踪 一个程序集参考,所有 引用的程序集已 已建成。
错误 2 程序集“Common”为 未找到。确认您不是 缺少程序集参考。还, 验证您的项目和所有 已构建引用的程序集。

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

【问题讨论】:

  • 你有 Blend 吗?如果我没记错的话,我在那里看到了问题背后的“真正原因”,而不是在 VS 中。
  • 不,我没有混合许可证。我会尝试看看试用版。

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


【解决方案1】:

VS2008 附带的 WPF 设计器除了最简单的任务外,还不足以完成所有任务。我的建议是不要使用它,而是尽可能使用 Blend,或者使用 Kaxaml 进行较小的 XAML 测试。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 2016-05-08
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      相关资源
      最近更新 更多