可能重复:
"此表达式会导致副作用,不会被评估".怎么压制?
我在Visual Studio中使用Watch窗口.我在Watch窗口中添加了一些变量.有时为了在调试时获取值,我必须单击刷新图标.是不是有一些设置允许它自动刷新?
我试图找出select使用Entity Framework对SQL Server做出的声明的文本内容.CommandTextIntelliTrace和调试器下的属性在文本视图中将文本截断为正好4096个字符.有没有办法看到所有这些或配置这些工具至少提高限制?
更新:这仍然是VS 2015诊断工具的一部分.
debugging entity-framework visual-studio watch-window intellitrace
根据我使用VS2015调试lamba表达式的源代码,LINQ应该在调试器的监视窗口中工作.但是,我仍然收到以下错误:
错误CS1061:'IEnumerable <MyClass>'不包含'Where'的定义,也没有扩展方法'Where'可以找到接受类型'IEnumerable <MyClass>'的第一个参数(你是否缺少using指令或程序集)参考?)
我必须打开一些选项吗?如何在监视窗口中启用LINQ?System.Linq通过在我正在调试的文件中使用包括在内.
我正在使用调试器来逐步执行我的代码.我所在的代码文件在顶部使用,例如包括
using System.Linq;
Run Code Online (Sandbox Code Playgroud)
在Visual Studio 2008中,这用于在调试时应用于Watch窗口,因此我可以在监视窗口中使用扩展方法,例如.First()和.ToArray().
出于某种原因,这已停止在Visual Studio 2010中工作.并且它不仅仅是扩展方法; 我现在必须使用完整的命名空间限定每个类型,这真的很烦人.
甚至更奇怪的是Watch窗口内的IntelliSense就像使用时一样.换句话说,它确实列出.ToArray()了例如.但是Watch窗口会显示错误消息
'<type>'不包含'ToArray'的定义,并且没有扩展方法'ToArray'可以找到接受类型'<type>'的第一个参数(你是否缺少using指令或汇编引用?)
所以现在我总是要输入真的很长而烦人的
System.Linq.Enumerable.ToArray(blah)
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
在Sql Server 2012中调试的监视窗口中,我们可以看到常规变量的值,我们可以在特殊窗口中查看xml,与sql字符串相同,但对于表变量,它只是说(表).
我真的很想知道在那一刻是否有任何方法可以查看该表变量并检查内容.
编辑:
我发现Visual Studio(很长一段时间以来)已经有了一个"Table"可视化器以及Xml,Html和Text.这对我没有帮助,但它强调了我最初的观点,即它是一个非常可行的功能.我对Sql Server SSMS团队与Visual Studio团队的一般感到非常失望.我认为Redmond的Visual Studio开发人员每5年应该被迫在SSMS团队进行2或3次冲刺的"值班之旅".如果他们这样做,他们可以帮助它太多.
谢谢.
sql-server debugging table-variable watch-window sql-server-2012