14

特定の開発マシンでは、C#ソリューションのVisual Studio(2015アップデート3)デバッグビルドが、ビルドされたすべてのDLLとともに$ RANDOM_SEED $ファイルを生成していました。

ファイルの内容は単なる数字です。 1443972318

ファイルを削除して再構築すると、ファイルが再生成され、番号が異なります。

この現象は、ソリューション内の単一のプロジェクト(標準のC#プロジェクトのリファレンス/依存関係+ System.Managementのみを持つもの)を再構築する場合にも発生します。

たとえば、コマンドラインビルドの実行は、 msbuild <sln-file> した(完全なソリューションまたは単一のプロジェクトのビルド用)ファイルを再生成します。

VSの再起動後、ファイルは再生成されません。

このファイル名は、私たちのソースコード、ビルド後のステップ、または内部の依存関係のいずれにおいても使用されていません。 RandomとRNGCryptoServiceProvider、および外部依存関係を含む、.NETフレームワーククラスにはかなりの依存関係があります。これらすべてのソースコードは完全なものではありませんので、依存関係のいずれかが原因であれば完全にチェックすることはできません。

これは暗闇の中で少しのショットですが、質問は誰もこれに似たものを見ていますか?

EDIT 私はこれがdownvotedされている驚いていないよ - 私は終わった、それはかなり開いている感謝し、私は現在、これを再現することができないんだけど、それが潜在的に深刻な影響を持っている可能性があるので(乱数生成器として私はそれをとにかく投稿しました。もし私が復習することができれば、私はもちろんここで更新するでしょう。

+1

命名規則ではなく、Microsoftファイルではありません。建物の論理的な交差点と、無作為ではあるが反復可能なことをしたいことは、小さなものです。これらのマシンで使用されている単体テストランナーを見てください。 –

+0

今日もこれを見ました。しかし、それがどこから来たのか分かりません。 –

+1

http://serverfault.com/a/20992に記載されているサードパーティのツールを使用しました。vstest.discoveryengine.x86.exeがファイルを作成することが判明しました。私は単一のC#クラスライブラリプロジェクトを使って新しいソリューションを作り直しました。ビルドする必要もなく、ソリューションを開いてTest Explorerウィンドウが更新されるのを待つだけで十分です。正確なexeは次のとおりです: 'C:¥Program Files(x86)¥Microsoft Visual Studio 14.0¥Common7¥IDE¥CommonExtensions¥Microsoft¥TestWindow¥vstest.discoveryengine.x86.exe' –

答えて

11

私は同じファイルを持っています。 短い調査の後、私は有罪を見つけました: このファイルはNUnit 3.xテストアダプタによって作成されています。 (NUnitアダプタのソースコードからAdapterSettings.csで確認できます)。

+0

https://github.com/nunit/nunit3 -vs-adapter/blob/master/src/NUnitTestAdapter/AdapterSettings。csとはい私はNUnit 3 Test Adapter v3.5.1がインストールされています... –

+0

ランダムシード値の正確な使用法、またはそれがファイルに書き込まれる原因となる条件についてはまだ分かりません。また、これについてNUnit Test Adapter [documentation](https://github.com/nunit/docs/wiki/Visual-Studio-Test-Adapter)で何も見つかりませんでした... –

10

このファイルは、検出プロセスと実行プロセスの両方でランダムテストケースを生成するために同じランダムシード値を使用するために、NUnitによって使用されます。 IDEが2つの異なるプロセスを使用してアダプタを実行するため、これが必要です。 vstest.console.exeの下でアダプタを実行する場合、実際には必要ない(または作成された)わけではありません。

関連する問題