Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Указывает компилятору на необходимость создания сборки, чьи побайтовые выходные данные идентичны в разных компиляциях, если входные данные идентичны.
Синтаксис
-deterministic
Замечания
По умолчанию выходные данные компилятора из заданного набора входных данных являются уникальными, поскольку компилятор добавляет метку времени и идентификатор GUID, который создается из случайных чисел. Вы можете использовать параметр -deterministic
для создания детерминированной сборки, двоичное содержимое которой идентично в разных компиляциях при условии, что входные данные не изменяются.
Компилятор учитывает идентичность следующих входных данных:
- Последовательность параметров командной строки.
- Содержимое RSP-файла ответов в компиляторе.
- Точная версия компилятора и его связанные сборки.
- Текущий путь к каталогу.
- Двоичное содержимое всех файлов явно передается компилятору напрямую или косвенно, включая:
- Исходные файлы
- Связанные сборки
- Связанные модули
- Ресурсы
- Файл ключа строгого имени
- Файлы ответов @
- Анализаторы
- Наборы правил
- Дополнительные файлы, которые могут использоваться анализаторами
- Текущий язык и региональные параметры (для языка сообщений о диагностике и исключениях).
- Кодировка по умолчанию (или текущая кодовая страница), если кодировка не указана.
- Наличие, отсутствие и содержимое файлов на пути поиска компилятора (задается, например, с помощью
-lib
или-recurse
). - Платформа среды CLR, в которой выполняется компилятор.
- Значение
%LIBPATH%
, которое может повлиять на загрузку зависимостей анализатора.
Если источники общедоступны, детерминированную компиляцию можно использовать, чтобы установить, компилируются ли двоичные данные из надежного источника. Ее также можно использовать в системе непрерывной сборки, чтобы определить необходимость выполнения шагов сборки, зависящих от изменений в двоичном файле.