[英]C# Project Works Fine on Visual C# Express Program Editor but Stops Working When Published
[英]C# - Visual Studio crashes at runtime, running the compiled program externally works fine
我正在尝试使用C#(我对C ++有点满意,但是Qt超出了我的脑袋),但是我遇到了MSV令人震惊的问题。
即,有时在我构建和运行代码时,最终的程序将崩溃,而在我构建并在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();
}
}
}
这就是它变得陌生的地方。
注释掉case
陈述可以完全消除问题。 它可以从编辑器编译并正常运行,并且运行没有问题。 但是,我看不到任何两个case语句都会引起问题的原因。 作为记录,该程序以代码“ -1073741819(0xc0000005)访问冲突”退出。
:只是为了幽默的IDE,看看它是否真的是在我的代码有问题,我从这个页面运行的第一个例子程序http://csharp.net-tutorials.com/basics/switch-statement/ , 同样的事情发生了 。 挂起,崩溃,0xc0000005访问冲突。 而且,就像以前一样,当我在IDE外部手动运行.EXE文件时,它也可以正常工作。
我重新安装了.NET Framework几次,以查看是否是问题所在,但不是-我什至尝试将其从4.5.3回滚到4.5,这甚至使它更加崩溃了。 现在,我很沮丧,因为只要离开IDE运行我的代码,我实际上就无法做任何事情。 我正在运行Windows 10(b10041),并且正在使用Visual Studio 2013。
在项目中,在debug和release文件夹中有一个带exe的bin文件夹。 确保在编译exe的日期时得到更新。 您可能没有使用最新的exe文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.