Opsi pengompilasi
Artikel ini menjelaskan opsi baris perintah pengompilasi untuk pengompilasi F#. Perintah dotnet build
memanggil pengompilasi F# pada file proyek F#. File proyek F# dicatat dengan .fsproj
ekstensi.
Lingkungan kompilasi juga dapat dikontrol dengan mengatur properti proyek. Untuk proyek yang menargetkan .NET Core, properti "Bendera lain", di <OtherFlags>...</OtherFlags>
, .fsproj
digunakan untuk menentukan opsi baris perintah tambahan.
Opsi Kompilator Tercantum Menurut Abjad
Tabel berikut ini memperlihatkan opsi pengompilasi yang tercantum menurut abjad. Beberapa opsi pengompilasi F# mirip dengan opsi pengompilasi C#. Jika demikian, tautan ke topik opsi pengompilasi C# disediakan.
Opsi Pengompilasi | Deskripsi |
---|---|
--allsigs |
Menghasilkan file tanda tangan baru (atau meregenerasi yang sudah ada) untuk setiap file sumber dalam kompilasi. Untuk informasi selengkapnya tentang file tanda tangan, lihat Tanda Tangan. |
-a filename.fs |
Menghasilkan pustaka dari file yang ditentukan. Opsi ini adalah bentuk singkat dari --target:library filename.fs . |
--baseaddress:address |
Menentukan alamat dasar pilihan untuk memuat DLL. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -baseaddress (Opsi Pengompilasi C#). |
--codepage:id |
Menentukan halaman kode yang akan digunakan selama kompilasi jika halaman yang diperlukan bukan codepage default sistem saat ini. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat /codepage (Opsi Pengompilasi C#). |
--consolecolors |
Menentukan bahwa kesalahan dan peringatan menggunakan teks berkode warna di konsol. |
--crossoptimize[+ or -] |
Mengaktifkan atau menonaktifkan pengoptimalan lintas modul. |
--delaysign[+|-] |
Menunda penandatanganan assembly hanya menggunakan bagian publik dari kunci nama yang kuat. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -delaysign Opsi Pengompilasi C#). |
--checked[+|-] |
Mengaktifkan atau menonaktifkan pembuatan pemeriksaan luapan. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -checked (Opsi Pengompilasi C#). |
--debug[+|-] -g[+|-] --debug:[full|pdbonly] -g: [full|pdbonly] |
Mengaktifkan atau menonaktifkan pembuatan informasi debug, atau menentukan jenis informasi debug yang akan dihasilkan. Defaultnya adalah full , yang memungkinkan melampirkan ke program yang sedang berjalan. Pilih pdbonly untuk mendapatkan informasi penelusuran kesalahan terbatas yang disimpan dalam file pdb (database program).Setara dengan opsi pengompilasi C# dengan nama yang sama. Untuk informasi selengkapnya, lihat /debug (C# Opsi Pengompilasi) |
--define:symbol -d:symbol |
Mendefinisikan simbol untuk digunakan dalam kompilasi bersyarat. |
--deterministic[+|-] |
Menghasilkan rakitan deterministik (termasuk GUID versi modul dan stempel waktu). Opsi ini tidak dapat digunakan dengan nomor versi wildcard, dan hanya mendukung jenis penelusuran kesalahan yang disematkan dan portabel |
--doc:xmldoc-filename |
Menginstruksikan pengompilasi untuk menghasilkan komentar dokumentasi XML ke file yang ditentukan. Untuk informasi selengkapnya, lihat Dokumentasi XML. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -doc (Opsi Pengompilasi C#). |
--fullpaths |
Menginstruksikan pengompilasi untuk menghasilkan jalur yang sepenuhnya memenuhi syarat. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -fullpaths (Opsi Pengompilasi C#). |
--help -? |
Menampilkan informasi penggunaan, termasuk deskripsi singkat tentang semua opsi pengompilasi. |
--highentropyva[+|-] |
Aktifkan atau nonaktifkan pengacakan tata letak ruang alamat entropi tinggi (ASLR), fitur keamanan yang ditingkatkan. OS mengacak lokasi dalam memori di mana infrastruktur untuk aplikasi (seperti tumpukan dan tumpukan) dimuat. Jika Anda mengaktifkan opsi ini, sistem operasi dapat menggunakan pengacakan ini untuk menggunakan ruang alamat 64-bit penuh pada komputer 64-bit. |
--keycontainer:key-container-name |
Menentukan kontainer kunci nama yang kuat. |
--keyfile:filename |
Menentukan nama file kunci publik untuk menandatangani assembly yang dihasilkan. |
--lib:folder-name -I:folder-name |
Menentukan direktori yang akan dicari untuk assembly yang direferensikan. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -lib (Opsi Pengompilasi C#). |
--linkresource:resource-info |
Menautkan sumber daya tertentu ke assembly. Format info sumber daya adalah filename[name[public|private]] Menautkan satu sumber daya dengan opsi ini adalah alternatif untuk menyematkan seluruh file sumber daya dengan opsi --resource .Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -linkresource (Opsi Pengompilasi C#). |
--mlcompatibility |
Mengabaikan peringatan yang muncul saat Anda menggunakan fitur yang dirancang untuk kompatibilitas dengan versi ML lainnya. |
--noframework |
Menonaktifkan referensi default ke assembly .NET Framework. |
--nointerfacedata |
Menginstruksikan pengompilasi untuk menghilangkan sumber daya yang biasanya ditambahkan ke assembly yang menyertakan metadata khusus F#. |
--nologo |
Tidak menampilkan teks spanduk saat meluncurkan pengompilasi. |
--nooptimizationdata |
Menginstruksikan kompilator untuk hanya menyertakan pengoptimalan yang penting untuk menerapkan konstruksi inlined. Menghambat inlining lintas modul tetapi meningkatkan kompatibilitas biner. |
--nowin32manifest |
Menginstruksikan pengompilasi untuk menghilangkan manifes Win32 default. |
--nowarn:warning-number-list |
Menonaktifkan peringatan tertentu yang tercantum menurut angka. Pisahkan setiap nomor peringatan dengan koma. Anda dapat menemukan nomor peringatan untuk peringatan apa pun dari output kompilasi. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -nowarn (Opsi Pengompilasi C#). |
--optimize[+|-] [optimization-option-list] -O[+|-] [optimization-option-list] |
Mengaktifkan atau menonaktifkan pengoptimalan. Beberapa opsi pengoptimalan dapat dinonaktifkan atau diaktifkan secara selektif dengan mencantumkannya. Ini adalah: nojitoptimize , nojittracking , nolocaloptimize , nocrossoptimize , notailcalls . |
--out:output-filename -o:output-filename |
Menentukan nama assembly atau modul yang dikompilasi. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -out (Opsi Pengompilasi C#). |
--pathmap:path=sourcePath,... |
Menentukan cara memetakan jalur fisik ke output nama jalur sumber oleh kompiler. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat /pathmap (Opsi Pengompilasi C#). |
--pdb:pdb-filename |
Menamai file PDB (database program) debug output. Opsi ini hanya berlaku saat --debug juga diaktifkan.Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -lib (Opsi Pengompilasi C#). |
--platform:platform-name |
Menentukan bahwa kode yang dihasilkan hanya akan berjalan pada platform yang ditentukan (x86 , , Itanium atau x64 ), atau, jika nama anycpu platform dipilih, menentukan bahwa kode yang dihasilkan dapat berjalan pada platform apa pun.Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -platform (Opsi Pengompilasi C#). |
--preferreduilang:lang |
Menentukan nama budaya bahasa pemrogram output pilihan (misalnya, es-ES , ja-JP ). |
--quotations-debug |
Menentukan bahwa informasi penelusuran kesalahan tambahan harus dimunculkan untuk ekspresi yang berasal dari harfiah kutipan F# dan definisi yang tercermin. Informasi penelusuran kesalahan ditambahkan ke atribut kustom dari simpul pohon ekspresi F#. Lihat Kutipan Kode dan Expr.CustomAttributes. |
--reference:assembly-filename -r:assembly-filename |
Membuat kode dari assembly F# atau .NET Framework tersedia untuk kode yang sedang dikompilasi. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -referensi (Opsi Pengompilasi C#). |
--resource:resource-filename |
Menyematkan file sumber daya terkelola ke dalam assembly yang dihasilkan. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -resource (opsi pengompilasi C#). |
--sig:signature-filename |
Menghasilkan file tanda tangan berdasarkan assembly yang dihasilkan. Untuk informasi selengkapnya tentang file tanda tangan, lihat Tanda Tangan. |
--simpleresolution |
Menentukan bahwa referensi assembly harus diselesaikan menggunakan aturan Mono berbasis direktori daripada resolusi MSBuild. Defaultnya adalah menggunakan resolusi MSBuild kecuali saat berjalan di bawah Mono. |
--standalone |
Menentukan untuk menghasilkan assembly yang berisi semua dependensinya sehingga berjalan dengan sendirinya tanpa perlu assembly tambahan, seperti pustaka F#. |
--staticlink:assembly-name |
Secara statis menautkan assembly yang diberikan dan semua DLL yang dirujuk yang bergantung pada assembly ini. Gunakan nama assembly, bukan nama DLL. |
--subsystemversion |
Menentukan versi subsistem OS yang akan digunakan oleh executable yang dihasilkan. Gunakan 6.02 untuk Windows 8.1, 6.01 untuk Windows 7, 6.00 untuk Windows Vista. Opsi ini hanya berlaku untuk executable, bukan DLL, dan hanya perlu digunakan jika aplikasi Anda bergantung pada fitur keamanan tertentu yang hanya tersedia pada versi OS tertentu. Jika opsi ini digunakan, dan pengguna mencoba menjalankan aplikasi Anda pada versi OS yang lebih rendah, opsi ini akan gagal dengan pesan kesalahan. |
--tailcalls[+|-] |
Mengaktifkan atau menonaktifkan penggunaan instruksi bahasa perantara ekor, yang menyebabkan bingkai tumpukan digunakan kembali untuk fungsi rekursif ekor. Pemadatan diaktifkan secara default. |
--target:[exe|winexe|library|module] filename |
Menentukan jenis dan nama file dari kode yang dikompilasi yang dihasilkan.
|
--times |
Menampilkan informasi waktu untuk kompilasi. |
--utf8output |
Mengaktifkan output pengompilasi pencetakan dalam pengodean UTF-8. |
--warn:warning-level |
Mengatur tingkat peringatan (0 hingga 5). Tingkat defaultnya adalah 3. Setiap peringatan diberikan tingkat berdasarkan tingkat keparahannya. Tingkat 5 memberikan lebih banyak, tetapi kurang parah, peringatan daripada tingkat 1. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -warn (opsi pengompilasi C#). |
--warnon:warning-number-list |
Aktifkan peringatan tertentu yang mungkin nonaktif secara default atau dinonaktifkan oleh opsi baris perintah lain. Daftar dipisahkan koma. |
--warnaserror[+|-] [warning-number-list] |
Mengaktifkan atau menonaktifkan opsi untuk melaporkan peringatan sebagai kesalahan. Anda dapat memberikan nomor peringatan tertentu untuk dinonaktifkan atau diaktifkan. Opsi nanti di opsi ambil alih baris perintah sebelumnya di baris perintah. Misalnya, untuk menentukan peringatan yang tidak ingin Anda laporkan sebagai kesalahan, tentukan --warnaserror+ --warnaserror-:warning-number-list .Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -warnaserror (opsi pengompilasi C#). |
--win32manifest:manifest-filename |
Menambahkan file manifes Win32 ke kompilasi. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -win32manifest (Opsi Pengompilasi C#). |
--win32res:resource-filename |
Menambahkan file sumber Win32 ke kompilasi. Opsi pengompilasi ini setara dengan opsi pengompilasi C# bernama sama. Untuk informasi selengkapnya, lihat -win32res (Opsi Pengompilasi C#). |
Peringatan keikutsertaan
Pengompilasi F# mendukung beberapa peringatan keikutsertaan:
Number | Ringkasan | Tingkat | Deskripsi |
---|---|---|---|
21 | Rekursi diperiksa pada durasi | 5 | Peringatkan saat penggunaan rekursif diperiksa untuk kedamaian inisialisasi pada durasi. |
22 | Pengikatan dijalankan di luar urutan | 5 | Peringatkan saat pengikatan rekursif dapat dijalankan secara tidak berurutan karena referensi maju. |
52 | Salinan implisit struktur | 5 | Peringatkan saat struktur yang tidak dapat diubah disalin untuk memastikan aslinya tidak dimutasi oleh operasi. |
1178 | Kesetaraan/perbandingan implisit | 5 | Peringatkan saat deklarasi jenis F# secara implisit disimpulkan menjadi NoEquality atau NoComparison tetapi atribut tidak ada pada jenis. |
1182 | Variabel yang tidak terpakai | n/a | Peringatan untuk variabel yang tidak digunakan. |
3180 | Alokasi timbunan implisit | n/a | Peringatkan saat lokal yang dapat diubah dialokasikan secara implisit sebagai sel referensi karena telah ditangkap oleh penutupan. |
3366 | Notasi indeks | n/a | Peringatkan saat notasi expr.[idx] indeks F# 5 digunakan. |
3517 | Kegagalan InlineIfLambda | n/a | Peringatkan saat pengoptimal F# gagal menginline InlineIfLambda nilai, misalnya jika nilai fungsi komputasi telah disediakan alih-alih lambda eksplisit. |
3387 | op_Implicit konversi |
n/a | Peringatkan saat konversi implisit .NET digunakan pada argumen metode. |
3388 | Upcast implisit tambahan | n/a | Peringatkan saat upcast tambahan digunakan secara implisit, ditambahkan di F# 6. |
3389 | Pelebaran implisit | n/a | Peringatkan saat pelebaran numerik implisit digunakan. |
3390 | Komentar dokumen XML cacat | n/a | Peringatkan ketika komentar dokumen XML salah bentuk dengan berbagai cara. |
Anda dapat mengaktifkan peringatan ini dengan menggunakan /warnon:NNNN
atau <WarnOn>NNNN</WarnOn>
di mana NNNN
adalah nomor peringatan yang relevan.
(Anda juga dapat menggunakan sintaks <WarnOn>FSNNNN</WarnOn>
, misalnya <WarnOn>FS3388</WarnOn>
.) Perhatikan bahwa jika WarnOn
properti ditentukan beberapa kali, hanya kemunculan terakhir yang digunakan. Untuk menentukan beberapa peringatan, berikan WarnOn
properti sekali dengan string yang dipisahkan koma sebagai kontennya: <WarnOn>3388,3559</WarnOn>
.
Artikel terkait
Judul | Deskripsi |
---|---|
Opsi Interaktif F# | Menjelaskan opsi baris perintah yang didukung oleh penerjemah F#, fsi.exe. |
Referensi Properti Proyek | Menjelaskan UI untuk proyek, termasuk halaman properti proyek yang menyediakan opsi build. |