[英]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.