我在视图模型中有以下代码:
public Point Location
{
get
{
var rangePixels = Range * PixelsPerMile;
var xCoordinate = OwnLocation.X * MapScale + rangePixels * Math.Cos(Theta);
var yCoordinate = OwnLocation.Y * MapScale - rangePixels * Math.Sin(Theta);
return new Point(xCoordinate, yCoordinate);
}
}
代码文件顶部的用途之一是System
,其中包含Math
.
如果我Math.Sin(Theta)
在 Watch 窗口中查看(通过选择代码、右键单击并选择“Add Watch”),我会收到以下错误:
当前上下文中不存在名称“数学”
我想知道的是:
- 这是 Visual Studio 2010 的预期/默认行为吗?我可以发誓这从来都不是问题,但也许它总是这样工作,我不知何故从未注意到。
- 如果出现此错误是不正常的,对问题可能是什么有任何想法?Visual Studio 中有上百万个设置,我不知道从哪里开始。
我应该注意到这个问题与此模糊相似,但我没有任何问题将鼠标悬停在我的局部变量上,而且我没有使用 PostSharp。
编辑
我刚刚尝试将我的所有 Visual Studio 设置重置为默认值,但我仍然遇到同样的错误。如果有人想在 Visual Studio 中尝试一个简单的测试,我只想知道如果为Math.Sin(1)
.
编辑 2
这里有几个屏幕截图来显示我正在经历的事情:
编辑 3
有趣的是,如果我Math.
在 Watch 窗口中输入,智能感知就可以工作,但如果我完成表达式,我仍然会收到错误:
编辑 4
要解决 BACON 的问题:
- 我对 QuickWatch 和 Immediate 有同样的行为。
- 关闭并重新打开所有窗口并不能解决问题。
- 我正在使用 Visual Studio 2010 Professional(版本 10.0.40219.1 SP1Rel)
- 我尝试针对 .NET 4.0 客户端配置文件和完整的 .NET 4.0。没区别。我创建了一个针对 .NET 4.0 客户端配置文件的控制台应用程序(而不是 WPF 应用程序),最后没有发生错误。因此,WPF 可能是一个问题(或 WPF 与某些第三方库)。(接下来会检查。)