编辑:如果您遇到同样的问题(并且您习惯于在 VS2010 下看不到此问题),请在下面发表评论,以便我知道这不仅仅是我 - 但请务必检查 Han 的回答以确保这些情况都不会出现。 ..
我一直在更新我的应用程序以在 VS2012 RTM 中使用 .NET 4.5 运行,并注意到一些我不太理解的东西,即意外地以绿色突出显示的语句(而不是黄色)。

现在我很清楚这应该是什么意思,IDE 甚至向我展示了一些解释工具提示。
这是该线程从当前函数返回时要执行的下一条语句
但是,绝对没有关于此代码的异步或线程。在这个简单的例子中,我相信你会同意它string.ToUpper()不会在另一个线程中关闭。我可以单步执行代码没有问题。
没有其他事情发生,我在主线程上,你可以在这里看到。

我正在使用asyncand await(MVVM-Light上述方法是 RelayCommand 的结果),但即使代码路径直接关闭事件处理程序(例如 PreviewKeyDown.

如果我创建一个新应用程序,我无法复制它——颜色如预期的那样是黄色的——即使使用await.
有人知道吗?它开始让我发疯!