C#程序"运行两次",通过可执行文件和cmd

时间:2014-09-22 02:02:28

标签: c# windows cmd

这是我的代码仅供参考,虽然我很确定它不是引起问题的代码。我在其他机器上运行相同的代码而没有出现问题。

using System;

public class Program
{

public static void Main()
{
Console.WriteLine("Body-mass-index Calculator");

Console.Write("Enter a weight (in kg): ");
double weight = Double.Parse(Console.ReadLine());

Console.Write("Enter a height (in cm): ");
double heightcm = Double.Parse(Console.ReadLine());

double heightm = heightcm/100;

double bmi = (weight/heightm/heightm);
double bmiformatted = Math.Round(bmi, 2);

Console.WriteLine("Resulting body mass index: {0}", bmiformatted);

}
}

当运行可执行文件时,cmd窗口打开,我输入它要求我的内容,并显示计算出的bmi值。然后按Enter键,cmd窗口关闭。到现在为止还挺好。但随后第二个cmd窗口打开,与第一个窗口相同,再次提示我输入值。我会完成我第一次做的事情,这次它会很好地结束。

如果我选择不输入我提示的值,而是关闭窗口,它将再次打开第二个窗口。

通过cmd运行有点不同。该程序将在一个新窗口中运行,一旦完成,它将关闭,程序将从原始cmd窗口再次运行。

如果有任何其他信息有助于解决此问题,请告知我们。感谢。

2 个答案:

答案 0 :(得分:4)

我也遇到过这个问题,直到我取消选中avast中的选项!抗病毒

检查你是否有avast!安装了防病毒软件。如果是这样,请单击左侧的齿轮图标以进行设置 - >防病毒 - >取消选中“启用DeepScreen”。

如果有效的话,请向冒险家们提供信息,他们在这里发布了解决方案(有截图):

Visual Studio 2013 runs project twice

答案 1 :(得分:-1)

您也可以从调试器开始。

windbg或ntsd(ntsd是一个控制台程序,可能已安装)。两者都来自Windows调试工具。

下载并安装适用于Windows的调试工具

http://msdn.microsoft.com/en-us/windows/hardware/hh852363

安装Windows SDK,但只需选择调试工具。

在** C:**

中创建名为符号的文件夹

启动 Windbg 文件菜单 - 符号文件路径并输入

srv*C:\symbols*http://msdl.microsoft.com/download/symbols

然后

windbg -o -g -G c:\windows\system32\cmd.exe /k batfile.bat

您可以按 F12 来停止它,kb将显示调用堆栈(g继续程序,pct运行到下一个函数调用)。如果出现错误,它也会停止并显示它们。

键入lm列出已加载的模块,x *!*列出符号,bp symbolname设置断点

如果在VB6中编程,则此环境变量link=/pdb:none将符号存储在dll中而不是单独的文件中。确保使用No Optimisations编译程序并勾选Create Symbolic Debug Info框。两者都在项目属性的“编译”选项卡上。

CoClassSyms(microsoft.com/msj/0399/hood/hood0399.aspx)也可以从类型库中创建符号。