调试Visual Studio或Blend Silverlight / WPF设计器加载错误?

时间:2010-08-10 20:33:00

标签: wpf silverlight visual-studio-2010 expression-blend

有没有办法调试Visual Studio或Blend所以我可以找出XAML设计器加载错误来自我的代码?

堆栈跟踪通常无用。

...谢谢

4 个答案:

答案 0 :(得分:3)

使用两个VS2010实例。使用主应用程序probject或测试工具应用程序项目加载一个,并使用您的控件项目加载另一个。构建控件项目后,请参考其他项目中的调试dll。从包含控件项目的VS2010实例进行调试将附加到包含测试应用程序的VS2010实例。

根据需要放置断点。

现在驱动VS2010的测试应用程序实例,就像在将控件构建到应用程序时一样,当控件加载时,它们的代码将执行,您可以开始执行代码。在Blend中使用控件时,您可以执行类似的操作,只需附加到Blend实例。

答案 1 :(得分:2)

在VS中,首先转到Debug-> Exceptions并选中CLr Exceptions的“Thrown”框。这将打破Blend / VS应用程序捕获的异常的调试器。然后执行Debug-> Attach To Process ...并找到打开解决方案的Blend或devenv实例。调试器启动后,您可以在设计器中打开XAML文件并对其进行调试。

答案 2 :(得分:1)

这是另外两美分。只需确保在用于附加到设计人员流程的实例中取消选中Options-> Debugging-> General-> Enable Just My Code。

答案 3 :(得分:0)

我发现这两个答案都很有用。只需添加我的2美分 - 在您用于附加到设计器的VS副本中,我需要在Attach To Process对话框中手动选择代码类型(Managed,v4.0在我的示例中)以获得所需的结果。出于某种原因,devenv的默认值是Script,T-SQL。查看OP和原始答案的日期,可能是对VS的更新导致了这种变化......只是猜测。

Select Code Type - manually set to Managed, v4.0