正如标题所暗示的那样,设计师抛出了这个错误,这意味着设计师无法正确显示我的UserControl,这反过来意味着我无法在此UserControl中从元素到元素平滑导航以进行修改。真烦人。
XXX是我的UserControl的名称,而URI YYY实际上是XXX的路径。所以我不明白它不能发现自己是资源。我搜索了这个错误,但大多数都发生在运行时。在我的情况下,当我执行它时根本不会发生。这个错误的描述真的不够解释,因为我不确定CLR中谁将文件本身作为资源加载。
另一件值得一提的是,这个错误只发生在构建我的应用程序项目之后,UserControl出现了错误。在我点击清理项目后,设计师可以显示整个内容(但显然我可以'每次我做任何改变之前都要清理项目,因为建筑需要时间)
答案 0 :(得分:15)
控件的.g.cs或.g.i.cs文件可能已损坏。尝试清理,关闭visual studio并重新启动它。我认为这在几个案例中对我有帮助,特别是当我将粘贴控件从一个解决方案复制到另一个解决方案时。
答案 1 :(得分:6)
只需删除
中的子文件夹即可 %LOCALAPPDATA%\Microsoft\VisualStudio\12.0\Designer\ShadowCache
答案 2 :(得分:1)
如果您将UserControl重构为UserControl之前引用的较低级别项目,那么您将看到此错误。
从命名空间中删除程序集引用可以解决问题。
<UserControl xmlns:ui="clr-namespace:MyCompany.Core.UI;assembly=MyCompany.Core.UI"
应该是
<UserControl xmlns:ui="clr-namespace:MyCompany.Core.UI"
设计师不够聪明,不能强调这一点。
答案 3 :(得分:0)
我遇到了同样的问题,编译并运行良好,但XAML编辑/设计师抱怨。在我的例子中,我发现解决方案是我的用户控件是在XAML(x:Class =“myNamespace.myUserControl”)的命名空间中声明的,而不是在后面的代码中。在后面的代码中添加名称空间声明解决了我的问题。
答案 4 :(得分:0)
可以在第二个附加的Visual Studio中调试Visual Studio Designer。
有关详细信息,请参阅How to troubleshoot and debug Visual Studio design mode errors。
答案 5 :(得分:0)
要显示UserControl,设计人员必须实例化用户控件。寻找可能的空参考例外。
在我的情况下,由于没有注入依赖项,用户控件有一个NRE。我添加了对NRE的处理,没有更多的问题。