Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
退出后C#控制台应用程序仍驻留在内存中_C#_.net_Console Application - Fatal编程技术网

退出后C#控制台应用程序仍驻留在内存中

退出后C#控制台应用程序仍驻留在内存中,c#,.net,console-application,C#,.net,Console Application,我有一个.NETC#控制台应用程序(不是服务)。它基本上连接到一个web服务,获取一些xml文件,将这些文件复制到驱动器上的几个位置,验证xml,处理它,并将这些对象发送到另一个web服务 但是,当main方法存在时(控制台窗口关闭),我仍然可以在TaskManager中看到该过程 我试着用一次尝试来围绕主方法中的所有内容,以捕获ApplicationException,但我仍然不知道为什么应用程序会崩溃,尽管在其他方面一切都很顺利 有人知道从哪里开始检查有故障的部分吗?看看线程使用情况和异步调

我有一个.NETC#控制台应用程序(不是服务)。它基本上连接到一个web服务,获取一些xml文件,将这些文件复制到驱动器上的几个位置,验证xml,处理它,并将这些对象发送到另一个web服务

但是,当main方法存在时(控制台窗口关闭),我仍然可以在TaskManager中看到该过程

我试着用一次尝试来围绕主方法中的所有内容,以捕获ApplicationException,但我仍然不知道为什么应用程序会崩溃,尽管在其他方面一切都很顺利


有人知道从哪里开始检查有故障的部分吗?

看看线程使用情况和异步调用。

如果控制台窗口已关闭,进程仍在运行似乎很奇怪。可以在Visual Studio调试器中附加到它吗?(显然是调试版本。)


您确定这不是仍在执行的上一次运行吗?

您的应用程序中几乎肯定有一个未终止的线程。正如Jon所说,连接调试器并查看哪些线程是活动的

正如所有其他答案所暗示的那样,您可能有一个挥之不去的线程,但它不一定是您明确创建的,如果您正在调试应用程序,您可能需要在一个或多个对象上调用Dispose或类似的调用,然后,我看到了VisualStudio创建一个名为类似于您的应用程序的host exe的情况,最后是.vshost.exe。它使用该控件控制应用程序,以获得更好的调试体验。在您完成程序调试后,此主机exe将保留,以便等待并准备就绪,以便它可以快速启动新的调试会话

你确定不是这个exe在附近吗


如果在未调试的情况下运行应用程序,它是否仍然挂起?

并且您确定内存中的应用程序不是YourExe.vshost.exe:)哈哈,那太好笑了:)没那么好笑。事情对每个人来说都是新鲜的,在这个网站上询问是一件非常值得尊敬的事情。这就是问题所在。。。我忽略了对webservice连接的异步调用。。。谢谢