这是一个简单的测试应用程序(在 F# 中,但我检查并在 C# 中出现了同样的问题):
let but = new Button(Content = "click me")
but.Click.Add(fun e -> printfn "clicked")
[<STAThread>]
do (new Application()).Run(new Window(Content = but))
在 VS 11 预览版中运行此程序时(无论是哪个 .NET 版本),单击后约 0.5 秒会出现“已单击”消息。同样的情况也发生在 C# 中。当我转到存储项目的文件夹并在 VS 之外运行 .exe 时,单击后会立即出现该消息。显然,调试工具大大减慢了这种特殊情况。为什么会这样,可以做些什么呢?