Bagikan melalui


-deterministic

Menyebabkan pengompilasi menghasilkan perakitan yang output byte-for-byte-nya identik di seluruh kompilasi untuk input yang identik.

Sintaks

-deterministic

Keterangan

Secara default, output pengompilasi dari set input tertentu unik, karena pengompilasi menambahkan tanda waktu dan GUID yang dihasilkan dari angka acak. Anda menggunakan opsi -deterministic untuk menghasilkan rakitan deterministik, yang konten binernya identik di seluruh kompilasi selama input tetap sama.

Pengompilasi mempertimbangkan input berikut untuk tujuan determinisme:

  • Urutan parameter baris perintah.
  • Konten file respons .rsp pengompilasi.
  • Versi yang tepat dari pengompilasi yang digunakan, dan rakitan referensinya.
  • Jalur direktori saat ini.
  • Konten biner dari semua file secara eksplisit diteruskan ke pengkompilasi baik secara langsung maupun tidak langsung, termasuk:
    • File sumber
    • Rakitan referensi
    • Modul referensi
    • Sumber
    • File kunci nama kuat
    • file respons @
    • Penganalisis
    • Set aturan
    • File tambahan yang dapat digunakan oleh penganalisis
  • Budaya saat ini (untuk bahasa di mana pesan diagnostik dan pengecualian diproduksi).
  • Pengodean default (atau halaman kode saat ini) jika pengodean tidak ditentukan.
  • Keberadaan, ketiadaan, dan konten file pada jalur pencarian pengompilasi (ditentukan, misalnya, oleh -lib atau -recurse).
  • Platform CLR tempat pengkompilasi dijalankan.
  • Nilai %LIBPATH%, yang dapat mempengaruhi pemuatan dependensi penganalisis.

Ketika sumber tersedia untuk umum, kompilasi deterministik dapat digunakan untuk menetapkan apakah suatu biner dikompilasi dari sumber terpercaya. Ini juga dapat berguna dalam sistem build berkelanjutan untuk menentukan apakah langkah build yang bergantung pada perubahan pada biner perlu dijalankan.

Lihat juga