16

正如标题所暗示的,这个错误是由设计者抛出的,这意味着设计者无法正确显示我的 UserControl,这反过来意味着我无法在此 UserControl 中从一个元素到另一个元素顺利导航以进行修改。真烦人。

XXX 是我的 UserControl 的名称,而 URI YYY 实际上是 XXX 的路径。所以我不知道它不能找到自己作为资源。我用谷歌搜索了这个错误,但大多数都发生在运行时。在我的情况下,当我执行它时它根本不会发生。这个错误的描述真的不够解释,因为我不确定 CLR 中是谁将文件本身作为资源加载。

另一件事可能值得一提的是,这个错误只发生在我构建我的应用程序项目之后,错误 UserControl 驻留在其中。单击清理项目后,设计器可以显示整个内容(但显然我无法清理每次在我进行任何更改之前进行项目,因为构建需要时间)

4

6 回答 6

15

控件的 .g.cs 或 .gics 文件可能已损坏。尝试清理,关闭 Visual Studio 并重新启动它。我认为这在某些情况下对我有帮助,尤其是当我将粘贴控件从一个解决方案复制到另一个解决方案时。

于 2013-10-22T12:29:47.613 回答
6

只需删除其中的子文件夹

%LOCALAPPDATA%\Microsoft\VisualStudio\12.0\Designer\ShadowCache

于 2015-06-23T07:13:09.550 回答
1

如果您将 UserControl 重构为 UserControl 先前引用的较低级别的项目,那么您将看到此错误。

从命名空间中删除程序集引用可解决此问题。

<UserControl xmlns:ui="clr-namespace:MyCompany.Core.UI;assembly=MyCompany.Core.UI"

应该

<UserControl xmlns:ui="clr-namespace:MyCompany.Core.UI"

设计师不够聪明,无法突出这一点。

于 2015-02-24T09:24:59.117 回答
0

要显示 UserControl,设计者必须实例化用户控件。寻找可能的空引用异常。

在我的情况下,由于未注入依赖项,用户控件具有 NRE。我添加了对 NRE 的处理,没有更多问题了。

于 2015-03-19T13:11:58.010 回答
0

我遇到了同样的问题,它编译并运行良好,但 XAML 编辑器/设计器抱怨。就我而言,我发现解决方案是我的用户控件是在 XAML (x:Class="myNamespace.myUserControl") 的命名空间中声明的,但不在后面的代码中。在后面的代码中添加命名空间声明解决了我的问题。

于 2014-09-09T14:29:13.707 回答
0

可以在第二个附加的 Visual Studio 中调试 Visual Studio Designer。

有关详细信息,请参阅如何对 Visual Studio 设计模式错误进行故障排除和调试。

于 2014-09-10T07:46:15.783 回答