3

在我的项目中,我的单元测试中有奇怪的错误,仅在我使用.NET 4.5 时发生,但在 4.0 时不会发生是我的项目的源代码。是编译的二进制文件。

重现步骤:

  1. 下载源代码和编译的二进制文件
  2. 将解压后的 Binary 文件夹放在 Interop\Main\ 文件夹中。
  3. 运行 Interop.Core.Tests.NETFX45 单元测试

测试IsAliveAfterCollectionWork必须失败。如果您附加内存分析器(我使用带有设置 Profile .NET 进程的免费dotMemory 4.0 EAP -> 每隔 N 个对象收集一次:1,内存流量:收集并使用分析器 API),您将看到该数组MarkedObject[]没有被收集了,虽然没有任何东西没有提到它

我的配置:

  • 视窗 8.1
  • .NET 框架 4.5.1
  • 我使用 Visual Studio 2012,但也安装了 2010 和 2013
4

0 回答 0