有没有办法在我自己的应用程序中使用 Visual Studio 的监视窗口?
Posted
技术标签:
【中文标题】有没有办法在我自己的应用程序中使用 Visual Studio 的监视窗口?【英文标题】:Is there a way to use Visual Studio's Watch Window in my own App? 【发布时间】:2010-02-09 19:06:00 【问题描述】:我有一个基本的消息传递应用程序,它接收来自客户端的请求并返回响应对象。当我遇到格式错误的请求对象时,我将其序列化到数据库日志中,以查找二进制字段中的失败请求。我希望能够反序列化这些格式错误的请求对象并在事后检查它们。
有没有办法在我自己的应用程序中使用 Visual Studio Watch 窗口(或类似窗口)?我知道属性网格,这就是我现在正在使用的,但是使用监视窗口来检查对象会很酷,因为大多数开发人员都熟悉监视窗口。
【问题讨论】:
【参考方案1】:使用 Visual Studio 本身怎么样?您已经知道如何序列化(所以我假设反序列化)对象。为什么不编写一个应用程序对其进行反序列化,然后将 VS 调试器连接到该应用程序?
【讨论】:
【参考方案2】:我会使用PropertyGrid 控件。它可用于一次检查单个对象。
【讨论】:
【参考方案3】:相比属性网格,您更喜欢 Watch Window 中的什么?是评估自定义表达式的能力,还是只是 UI?
如果是前者,那么,
我不知道有什么开箱即用的东西可以让你这样做,最接近的东西(不附加调试器)是Crack.NET(见this图片),理论上你可以合并它将脚本窗口添加到您自己的项目中(毕竟它是开源的),但是您必须用 Python 而不是 C# 来编写表达式。
至于更自己动手的方法,您可以使用 CodeDom 将您的表达式编译成如下所示的方法:
object Evaluate(RequestObject request)
return ... your expression goes here ... ;
然后加载你自动编译的DLL来动态调用这个方法,如果你喜欢的话,再把它的返回值呈现在属性网格中。
【讨论】:
以上是关于有没有办法在我自己的应用程序中使用 Visual Studio 的监视窗口?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法打破Visual Studio中执行的下一行代码?
有没有办法更改 Visual Studio Code 的扩展文件夹位置?
有没有办法使用键盘快捷键缩放 Visual Studio 文本编辑器?
有没有办法让 Visual Studio Code 识别 PHP 文件中的 HTML 语法