C#-Visual Studio在运行时崩溃,在外部运行编译的程序工作正常 我想拿起C++(我对C++有点舒服,但QT比我的脑袋快),但是我正在用MSV看一个停止播放的问题。

C#-Visual Studio在运行时崩溃,在外部运行编译的程序工作正常 我想拿起C++(我对C++有点舒服,但QT比我的脑袋快),但是我正在用MSV看一个停止播放的问题。,c#,visual-studio-2013,windows-10,C#,Visual Studio 2013,Windows 10,也就是说,有时当我构建和运行代码时,生成的程序会崩溃,如果我构建它并在IDE之外运行它,它就会按预期工作 我在几个不同的程序中多次遇到这个问题,我并不总是得到相同的错误代码,但结果总是一样的-控制台窗口出现,但没有写入任何内容;它会挂起一秒钟,然后弹出“vshost32.exe已停止工作”。跟随错误消息的debug选项不会执行任何操作,因为它表示未配置该选项 下面是一个完整程序的示例,它给了我一个问题: using System; using System.Collections.Generic

也就是说,有时当我构建和运行代码时,生成的程序会崩溃,如果我构建它并在IDE之外运行它,它就会按预期工作

我在几个不同的程序中多次遇到这个问题,我并不总是得到相同的错误代码,但结果总是一样的-控制台窗口出现,但没有写入任何内容;它会挂起一秒钟,然后弹出“vshost32.exe已停止工作”。跟随错误消息的debug选项不会执行任何操作,因为它表示未配置该选项

下面是一个完整程序的示例,它给了我一个问题:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            int number1, number2, number3;

            Console.WriteLine("Please enter a number:");
            number1 = int.Parse(Console.ReadLine());

            Console.WriteLine("Please enter another number:");
            number2 = int.Parse(Console.ReadLine());

            Console.WriteLine("Calculating...");
            number3 = number1 * number2;

            switch (number3)
            {
                case 0:
                    Console.WriteLine("The result is equal to zero.");
                    break;
                case 1:
                    Console.WriteLine("The result is equal to one.");
                    break;
                default:
                    Console.WriteLine("The result is not equal to zero or one.");
                    break;
            }

            Console.ReadLine();
        }
    }
}
这是它变得更奇怪的地方

注释掉
案例
语句可以完全消除问题。它可以在编辑器中正确编译和运行,并且运行时不会出现问题。然而,我看不出这两个案例陈述会引起问题的任何原因。对于记录,此程序退出时代码为“-1073741819(0xc0000005)访问冲突”

为了搞笑IDE,看看它是否真的是我代码中的一个问题,我运行了本页的第一个示例程序: 同样的事情也发生了。挂起、崩溃、0xc0000005访问冲突。而且,就像以前一样,当我在IDE之外手动运行.EXE文件时,它工作正常


我重新安装了几次.NET Framework,看看这是否是问题所在,事实并非如此——我甚至试着从4.5.3版回滚到4.5版,结果更糟了。现在我完全被难住了,因为只要我必须离开IDE来运行代码,我就不能做很多事情。我运行的是Windows 10(b10041),使用的是Visual Studio 2013。

在该项目中,调试和发布文件夹中有一个包含exe的bin文件夹。确保编译时exe的日期得到更新。您可能没有使用最新的exe文件。

您是否考虑过问题可能是由Windows 10引起的选项?我无法在VS Express 2013和Windows 7中重现此选项。walther对Windows 10的看法很可能是正确的。@walther是的,但在运行.NET和VS的W7/W8版本时,这肯定不会有太大变化,对吗?我听说过运行.NET 4.6时会出现C#问题,但在4.5.1和4.5.0上也有同样的问题。在同一版本的Windows 10中开发时,我遇到了几十个访问冲突异常。但由于我使用的是VS 2015 CTP,我不确定这是Windows问题还是VS有问题。请将此作为错误发布到MS团队:)恐怕我们对此无能为力。