visual-studio - nunit什么是 Visual Studio 生成 C# 解决方案生成的$RANDOM_SEED$ 文件?

  显示原文与译文双语对照的内容
104 5

我们注意到在某台开发机器上,Visual Studio ( 2015更新 3 ) 调试生成 C# 解决方案在每个生成的DLL旁边生成一个 $RANDOM_SEED$ 。

文件的内容仅仅是一个数字 比如 1443972318

删除文件然后重新生成导致生成了一个不同的文件。

这里行为在解决方案( 一个只有标准 C# 项目参数 refs/System.Management + which ) 中重新生成单个项目时也被观察到。

请注意,运行 命令行 生成 比如 msbuild <sln-file> did regenerate重新生成文件。

重新启动后,该文件将不会再被重置。

我们知道,在我们的源代码中不使用这个文件名,发布构建步骤或者内部依赖项。对. NET 框架类有相当多的依赖,包括随机和 RNGCryptoServiceProvider,以及外部依赖。我们没有完整的源代码,因这里无法全面检查哪些依赖项是否负责。

在黑暗中有点 shot,但问题是任何类似于这个的

这个问题我很惊讶,但因为我现在无法复制它,而且可能会产生严重的后果,我现在已经发布了它。如果我能够复制,我当然会在这里更新。

时间:原作者:0个回答

57 5

我有相同的文件。经过简短的调查,我发现了错误:这个文件是由 NUnit 3.x 测试适配器创建的。( 你可以以在 AdapterSettings.cs的适配器源代码中检查它) 。

原作者:
57 0

NUnit用于确保我们在发现和执行过程中使用相同的随机种子值来生成随机测试用例。因为IDE使用两个不同的进程执行适配器,所以这是必需的。在 vstest.console.exe 下运行适配器时,实际上不需要( 或者创建) 。

原作者:
...