C# 如何在设计模式下调试WPF用户控件?
我创建了一个wpf用户控件,其中包含一个标签。标签的前景设置会根据检查多个条件的某些代码进行更改。控件中的标签在设计时显示了错误的颜色,但我无法确定如何在设计时调试用户控件,以便它捕获断点(从而确定我的逻辑哪里有缺陷)。控件上的颜色在运行时是正确的,只有在设计时才显示不正确。以下是在设计时调试控件的步骤:C# 如何在设计模式下调试WPF用户控件?,c#,wpf,visual-studio,user-controls,design-time,C#,Wpf,Visual Studio,User Controls,Design Time,我创建了一个wpf用户控件,其中包含一个标签。标签的前景设置会根据检查多个条件的某些代码进行更改。控件中的标签在设计时显示了错误的颜色,但我无法确定如何在设计时调试用户控件,以便它捕获断点(从而确定我的逻辑哪里有缺陷)。控件上的颜色在运行时是正确的,只有在设计时才显示不正确。以下是在设计时调试控件的步骤: 启动Visual Studio的第二个实例 从“调试”菜单附加到第一个实例 在第二个实例中,打开控件的源代码 在适当的位置设置断点 在第一个VS实例中,重新加载设计器 注意,这种技术并不局
- 启动Visual Studio的第二个实例
- 从“调试”菜单附加到第一个实例
- 在第二个实例中,打开控件的源代码
- 在适当的位置设置断点
- 在第一个VS实例中,重新加载设计器
注意,这种技术并不局限于控件;您还可以使用它来调试VS扩展,或在Visual Studio中执行的任何操作。要调试控件程序集,我使用以下解决方案
Debug
(Déboguer法语)
Start extern program
设置为devenv.exe
(红色矩形)
在我的电脑上是
C:\ProgramFiles(x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe
.sln
文件的目录。(绿色矩形)
在我的电脑上是
D:\@Projets\VisualBasic.Net\Tramex.Controls.Net\Test
这在WinForms控件中非常有效。当我尝试这种方法时,我在第二个实例中设置的断点会说“断点当前不会被命中。没有为此文档加载任何符号”,而且它们永远不会被捕获。@WiredWiz,这很奇怪。。。我多次使用这种技术(使用WPF标记扩展、值转换器等),它对我来说总是很好。我相信OP早就解决了这个问题,但对于其他任何遇到“断点当前不会被击中。没有为此文档加载任何符号”的人来说确保已切换“启用项目代码”按钮。禁用该功能可能会导致该特定问题。关于这个类似问题的答案之一是值得信任的:为了便于参考,这里有文档“VisualStudio中的设计时调试”:它详细介绍了如何附加到VisualStudio的第一个实例。