Мы заметили, что на какой-то машине-разработчике версия отладки Visual Studio (2015 update 3) для решения С# создавала файл $RANDOM_SEED $вместе со всеми встроенными DLL.
Содержимое файла - это всего лишь одно число, например.
1443972318
Удаление файлов (ов), а затем восстановление привело к восстановлению файла с другим номером.
Это поведение наблюдалось также при перестройке одного проекта в решении (которое имеет только стандартные ссылки на С# refs/dependencies + System.Management).
Обратите внимание, что выполнение сборки командной строки, например.
msbuild <sln-file>
не регенерировать файл (для создания полного решения или одного проекта).
После перезапуска VS файл больше не восстанавливается.
Насколько нам известно, это имя файла не используется ни в одном из наших исходных кодов, post build steps или внутренних зависимостей. Существует довольно много зависимостей от классов .NET Framework, включая Random и RNGCryptoServiceProvider, а также внешние зависимости. У нас нет полного исходного кода для всех них, поэтому невозможно проверить исчерпывающе, если какая-либо из зависимостей несет ответственность.
Это немного выстрел в темноте, но вопрос Кто-нибудь видел что-то похожее на это?
ИЗМЕНИТЬ Я не удивлен, что это было приостановлено - я понимаю, что это довольно открыто, но поскольку я в настоящее время не могу воспроизвести это, и поскольку это может иметь потенциально серьезные последствия (атака генератора случайных чисел?), Я все равно разместил его. Если я смогу воспроизвести, я, конечно, буду обновляться здесь.