如何调试XAML设计器问题?

Row*_*haw 4 xaml-designer visual-studio-2015 uwp

我正在使用Visual Studio 2015开发一个UWP应用程序,我想要做的一件事就是在设计时使用一些示例数据.

现在,我添加了一个XAML文件,将构建操作设置为 DesignDataWithDesignTimeCrateableTypes

我的XAML在这里非常简单:

<local:Freead
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"       
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:MyNamespace.Uwp.Windows.ViewModels" 
    xmlns:ad="clr-namespace:MyNamespace.Classifieds;assembly=LocalAngle.Uwp" 
    ItemName="Java books" 
    Description="Free to anyone that wants them. A little out of date, but would make a handy doorstop." 
    ContactDetails="01632 960000" 
    Latitude="52.22" Longitude="1.95">
</local:Freead>
Run Code Online (Sandbox Code Playgroud)

然而,intellisense给我淡蓝色波浪线和工具提示:

无法创建"Freead"的实例.

从历史上看,我已经能够通过发射了Visual Studio中的另一个实例,安装和设置,在所有异常中断到调试XAML的设计问题,但没有例外出现在这里抛出,所以我怎么能调试为什么它不能创建一个类型的实例?(鉴于已经检查过明显的,即有一个无参数构造函数,并且解决方案确实构建)

小智 6

我遇到了XAML Designer错误并尝试了旧的Visual Studio 2015前方法:

  • 关闭所有打开的XAML Designer窗口
  • 启动另一个VS 2015实例
  • 附加到"XDesProc.exe"进程(对我来说只有一个)
  • 在原始VS实例中打开设计器中有问题的XMAL页面

我的错误是"对象未初始化",但很快找到了潜在的问题.修复它需要更多努力!

  • 当面向 Windows 内部版本 16299 或更高版本时,附加到的过程有所不同。您需要为 UWP 项目查找“UwpSurface.exe”,为 WPF 项目查找“WpfSurface.exe”。调试的整个过程可以在这里找到(左上角有一个下拉菜单可以选择不同版本的Visual Studio):https://learn.microsoft.com/en-us/visualstudio/xaml-tools/debugging-or -在xaml设计器中禁用项目代码 (2认同)