Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Fa sì che il compilatore generi un assembly il cui output byte per byte è identico in tutte le compilazioni se si usano input identici.
Sintassi
-deterministic
Osservazioni:
Per impostazione predefinita, l'output del compilatore da un determinato set di input è univoco, poiché il compilatore aggiunge un timestamp e un GUID generato da numeri casuali. L'opzione -deterministic si usa per generare un assembly deterministico il cui contenuto binario è identico in tutte le compilazioni purché l'input rimanga lo stesso.
Il compilatore considera gli input seguenti allo scopo di determinismo:
- La sequenza dei parametri della riga di comando.
- Il contenuto del file di risposta .rsp del compilatore.
- La versione precisa del compilatore in uso e i relativi assembly di riferimento.
- Il percorso della directory corrente.
- Il contenuto binario di tutti i file passati in modo esplicito al compilatore direttamente o indirettamente, tra cui:
- File di origine
- Assembly di riferimento
- Moduli a cui viene fatto riferimento
- Risorse
- Il file di chiave con nome forte
- @ file di risposta
- Analizzatori
- Set di regole
- File aggiuntivi che possono essere usati dagli analizzatori
- La cultura corrente (per la lingua in cui vengono generati i diagnostici e i messaggi di eccezione).
- Codifica predefinita (o tabella codici corrente) se la codifica non è specificata.
- L'esistenza, non esistenza e contenuto dei file nei percorsi di ricerca del compilatore (specificati, ad esempio, da
-libo-recurse). - Piattaforma CLR in cui viene eseguito il compilatore.
- Il valore di
%LIBPATH%, che può influenzare il caricamento delle dipendenze dell'analizzatore.
Quando le origini sono disponibili pubblicamente, è possibile usare la compilazione deterministica per stabilire se un file binario viene compilato da un'origine attendibile. Può anche essere utile in un sistema di compilazione continuo per determinare se i passaggi di compilazione dipendenti dalle modifiche apportate a un file binario devono essere eseguiti.