Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Způsobí, že kompilátor vytvoří sestavení, jehož výstup byte-for-byte je stejný napříč kompilacemi pro identické vstupy.
Syntaxe
-deterministic
Poznámky
Ve výchozím nastavení je výstup kompilátoru z dané sady vstupů jedinečný, protože kompilátor přidá časové razítko a identifikátor GUID vygenerovaný z náhodných čísel. Tuto možnost použijete -deterministic k vytvoření deterministického sestavení, jehož binární obsah je identický napříč kompilacemi, pokud vstup zůstane stejný.
Kompilátor považuje následující vstupy za účelem determinismu:
- Posloupnost parametrů příkazového řádku
- Obsah souboru odpovědi .rsp kompilátoru.
- Přesná verze použitého kompilátoru a jeho odkazovaná sestavení.
- Aktuální cesta k adresáři.
- Binární obsah všech souborů explicitně předán kompilátoru přímo nebo nepřímo, včetně:
- Zdrojové soubory
- Odkazovaná sestavení
- Odkazované moduly
- Prostředky
- Soubor klíče silného názvu
- Soubory odpovědí @
- Analyzátory
- Sady pravidel
- Další soubory, které můžou používat analyzátory
- Aktuální kulturní prostředí (pro jazyk, ve kterém se generují zprávy diagnostiky a výjimek).
- Výchozí kódování (nebo aktuální znaková stránka), pokud není zadáno kódování.
- Existence, neexistence a obsah souborů ve vyhledávacích cestách kompilátoru (zadaných například pomocí
-libnebo-recurse). - Platforma CLR, na které je kompilátor spuštěn.
- Hodnota
%LIBPATH%, která může ovlivnit načítání závislostí analyzátoru.
Pokud jsou zdroje veřejně dostupné, lze deterministické kompilace použít k určení, zda je binární soubor zkompilován z důvěryhodného zdroje. Může být také užitečné v systému průběžného sestavování pro určení, jestli je potřeba provést kroky sestavení, které jsou závislé na změnách binárního souboru.