Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.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#_Multithreading_Sockets_Console_Threadabortexception - Fatal编程技术网

c#线程异常线程异常

c#线程异常线程异常,c#,multithreading,sockets,console,threadabortexception,C#,Multithreading,Sockets,Console,Threadabortexception,我遇到了一个非常奇怪的问题。我肯定这是件小事,但我在这件事上真的很紧张 我正在将第三方库集成到我的应用程序中。我下载了lib,并附带了示例代码。我能够毫无问题地构建和运行示例代码。我将lib+示例代码复制到我自己的解决方案文件夹中,而不更改两个项目中的任何内容,将它们添加到我自己的解决方案中,构建并运行。我在示例应用程序的末尾获得ThreadAbortException。这是在单独的文件夹中使用的 该代码在侦听线程中打开套接字连接。线程监视并使用套接字信息。然后在程序退出之前,执行runner.

我遇到了一个非常奇怪的问题。我肯定这是件小事,但我在这件事上真的很紧张

我正在将第三方库集成到我的应用程序中。我下载了lib,并附带了示例代码。我能够毫无问题地构建和运行示例代码。我将lib+示例代码复制到我自己的解决方案文件夹中,而不更改两个项目中的任何内容,将它们添加到我自己的解决方案中,构建并运行。我在示例应用程序的末尾获得ThreadAbortException。这是在单独的文件夹中使用的

该代码在侦听线程中打开套接字连接。线程监视并使用套接字信息。然后在程序退出之前,执行runner.Abort(),其中runner是线程。我不明白的是,为什么它不在原来的解压文件夹中抛出ThreadAbortException。但当我完全复制到自己的解决方案中时,它会抛出吗

我没有看到Thread.ResetAbort()的任何用法

在这件事上需要一些帮助。提前谢谢

我所尝试的: 更改.net framework版本(无论我如何更改,原始目录都会正常运行,但我自己的解决方案会因ThreadAbortException而阻塞)

这是Visual Studio 2013社区版上的内容

谢谢你的阅读

编辑如下***

配置文件是相同的。bin目录显示生成的pdb文件大小不同,但其他文件的大小似乎相同。不起作用的代码具有较小的pdb文件

我删除了lib项目和示例项目的原始目录的bin,从示例项目中删除了引用,并从解决方案中重新添加它。构建,并且它构建相同的大小(比其他解决方案更大)。运行了它,它在没有线程异常的情况下正常退出。然后我在自己的解决方案下做了同样的事情,它使用更小的pdb构建,ThreadAbortException出现了


我还验证了Visual studio的两个实例都是2013社区。

我最终创建了一个全新的解决方案,将第三方项目放在那里。然后在新的解决方案中逐个添加我的旧项目。我还不清楚为什么会发生这种事。但我现在要继续讲。

你能把你的代码放在这里吗?也许是app.config文件?您是否比较了在这两个地方生成的可执行文件?(如果您将exe从原始文件夹复制到自己的目录,会发生什么?@JonSkeet总是有一些新的东西需要您了解:)在示例代码中搜索Thread.Join()。或者可能存在某种全局异常处理例程。@JonSkeet sample.exe.config完全相同。其中只包含.net framework版本。我的解决方案下示例应用程序的pdb文件比原始位置中的文件小。这对于第三方api项目和示例项目都是正确的。