C# VS2013即时窗口运行应用程序,不计算

C# VS2013即时窗口运行应用程序,不计算,c#,wpf,visual-studio-2013,C#,Wpf,Visual Studio 2013,这就是我的问题,当我使用即时窗口从WPF应用程序运行代码时,它不是计算代码,而是运行整个应用程序。这只发生在VS2013中,而在VS2012中(我已经安装了这两个版本),这不会发生 奇怪的是,当我创建一个常规的Winforms应用程序,甚至是一个dll并计算相同的代码时,立即窗口通常会计算它 如果在WPF应用程序运行后多次尝试对代码求值,我会遇到一个错误:“表达式求值已在进行中。” 但它从未在WPF应用程序中进行评估 以下是我用来测试此行为的代码: /// <summary> ///

这就是我的问题,当我使用即时窗口从WPF应用程序运行代码时,它不是计算代码,而是运行整个应用程序。这只发生在VS2013中,而在VS2012中(我已经安装了这两个版本),这不会发生

奇怪的是,当我创建一个常规的Winforms应用程序,甚至是一个dll并计算相同的代码时,立即窗口通常会计算它

如果在WPF应用程序运行后多次尝试对代码求值,我会遇到一个错误:“表达式求值已在进行中。”

但它从未在WPF应用程序中进行评估

以下是我用来测试此行为的代码:

/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
}
public class W
{
    public static int[] T()
    {
        return new[] { 1, 2, 3, 4, 5 };
    }
}
//
///MainWindow.xaml的交互逻辑
/// 
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
}
}
公共W类
{
公共静态int[]T()
{
返回新的[]{1,2,3,4,5};
}
}
winforms或dll的输出如下(如预期):

WindowsFormsApplication1.W.T()
{int[5]}
[0]:1
[1] :2
[2] :3
[3] :4
[4] :5

对于wpf:没有,只是运行应用程序


这是一个预期的特性还是一个bug?其他人有这个还是只有我

无需在股票上复制“无所事事”WPF应用程序。这完全取决于您将该类放置在何处,以及您的代码中有哪些静态构造函数,您不应该忽略这些细节。很难想象为什么这样做是有用的。@HansPassant我把那个类放在哪里似乎并不重要,它总是做同样的事情。但我的问题是,如果我在vs2012中尝试相同的代码和相同的布局,它将按预期工作。我认为这是vs2013的一个问题/功能。对于我来说,至少使用即时窗口来评估一些代码并快速查看输出是有用的,而无需调试或进行单元测试。