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