Visual Studio调试模式

时间:2018-09-16 12:13:47

标签: visual-studio

我在Visual Studio 2017 Enterprise中运行了一个控制台应用程序,以在控制台窗口中输出从1到100的数字列表。

这是我运行的代码:

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0;  i < 100; i++) 
            {
                Console.WriteLine(i);
            }
        }
    }
}

如果我在调试模式下运行应用程序,则控制台输出会迅速消失。我可以通过按Ctrl + F5键运行应用程序来“停止”控制台窗口(无需调试即可启动应用程序)。我也可以通过添加Console.ReadLine()或使用Thread.Stop(3000);停止应用程序来停止控制台输出。

尽管如此,我想知道为什么Visual Studio在调试模式下运行应用程序时会如此操作。没有调试就可以开始的事情,以及这两种方法之间的区别。这与在Visual Studio上运行的进程有关吗?

有时(如果我误解了这些,请纠正我),Visual Studio锁定控制台应用程序(.exe)并显示以下输出:

  

错误12无法将文件“ obj \ x86 \ Debug \ ConsoleApplication.exe”复制到“ bin \ Debug \ ConsoleApplication.exe”。该进程无法访问文件“ bin \ Debug \ ConsoleApplication.exe”,因为它正在被另一个进程使用。 ConsoleApplication

     

错误11无法将“ obj \ x86 \ Debug \ ConsoleApplication.exe”复制到“ bin \ Debug \ ConsoleApplication1.exe”。重试计数超过10。失败。 ConsoleApplication1

我认为.exe文件正在任务管理器上运行,因此出于安全原因,Visual Studio锁定了该过程。我可以在任务管理器上终止该进程,然后再次运行控制台应用程序。有人可以解释一下这个Visual Studio沙箱如何在后台运行。谢谢!。

0 个答案:

没有答案