Derleyici seçenekleri

Bu makalede F# derleyicisi için derleyici komut satırı seçenekleri açıklanmaktadır. komutu dotnet build F# proje dosyalarında F# derleyicisini çağırır. F# proje dosyaları uzantıyla .fsproj birlikte not edilir.

Derleme ortamı, proje özellikleri ayarlanarak da denetlenebilir. .NET Core'ı hedefleyen projeler için, ek komut satırı seçeneklerini belirtmek için içindeki .fsproj"Diğer bayraklar" özelliği <OtherFlags>...</OtherFlags> kullanılır.

Alfabetik Listelenmiş Derleyici Seçenekleri

Aşağıdaki tabloda alfabetik olarak listelenen derleyici seçenekleri gösterilmektedir. F# derleyici seçeneklerinden bazıları C# derleyici seçeneklerine benzer. Bu durumda, C# derleyici seçenekleri konusuna bir bağlantı sağlanır.

Derleyici Seçeneği Açıklama
--allsigs Derlemedeki her kaynak dosya için yeni bir imza dosyası oluşturur (veya var olan bir imza dosyasını yeniden oluşturur). İmza dosyaları hakkında daha fazla bilgi için bkz . İmzalar.
-a filename.fs Belirtilen dosyadan bir kitaplık oluşturur. Bu seçenek kısa bir biçimidir --target:library filename.fs.
--baseaddress:address DLL'nin yüklendiği tercih edilen temel adresi belirtir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /baseaddress (C# Derleyici Seçenekleri).
--codepage:id Gerekli sayfa sistem için geçerli varsayılan kod sayfası değilse derleme sırasında hangi kod sayfasının kullanılacağını belirtir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /code pages (C# Derleyici Seçenekleri).
--consolecolors Hataların ve uyarıların konsolda renk kodlu metin kullandığını belirtir.
--crossoptimize[+ or -] Modüller arası iyileştirmeleri etkinleştirir veya devre dışı bırakır.
--delaysign[+|-] Tanımlayıcı ad anahtarının yalnızca ortak bölümünü kullanarak derlemeyi gecikmeli olarak imzalar.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /delaysign (C# Derleyici Seçenekleri).
--checked[+|-] Taşma denetimlerinin oluşturulmasını etkinleştirir veya devre dışı bırakır.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /checked (C# Derleyici Seçenekleri).
--debug[+|-]

-g[+|-]

--debug:[full|pdbonly]

-g: [full|pdbonly]
Hata ayıklama bilgilerinin oluşturulmasını etkinleştirir veya devre dışı bırakır ya da oluşturulacak hata ayıklama bilgilerinin türünü belirtir. Varsayılan değer, çalışan bir programa eklemeye izin veren değeridir full. Pdb (program veritabanı) dosyasında depolanan sınırlı hata ayıklama bilgilerini almayı seçin pdbonly .

Aynı ada ait C# derleyici seçeneğine eşdeğerdir. Daha fazla bilgi için bkz.

/debug (C# Derleyici Seçenekleri).
--define:symbol

-d:symbol
Koşullu derlemede kullanılacak bir simge tanımlar.
--deterministic[+|-] Belirleyici bir derleme (modül sürümü GUID'si ve zaman damgası dahil) oluşturur. Bu seçenek joker karakter sürüm numaralarıyla kullanılamaz ve yalnızca eklenmiş ve taşınabilir hata ayıklama türlerini destekler
--doc:xmldoc-filename Derleyiciye belirtilen dosyaya XML belgeleri açıklamaları oluşturmasını bildirir. Daha fazla bilgi için bkz . XML Belgeleri.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /doc (C# Derleyici Seçenekleri).
--fullpaths Derleyiciye tam yollar oluşturmasını sağlar.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /fullpaths (C# Derleyici Seçenekleri).
--help

-?
Tüm derleyici seçeneklerinin kısa bir açıklaması da dahil olmak üzere kullanım bilgilerini görüntüler.
--highentropyva[+|-] Gelişmiş bir güvenlik özelliği olan yüksek entropi adres alanı düzeni rastgele seçimini (ASLR) etkinleştirin veya devre dışı bırakın. İşletim sistemi, bellekteki uygulamaların altyapısının (yığın ve yığın gibi) yüklendiği konumları rastgele belirler. Bu seçeneği etkinleştirirseniz, işletim sistemleri bu rastgele ayarı kullanarak 64 bit makinede 64 bit adres alanının tamamını kullanabilir.
--keycontainer:key-container-name Tanımlayıcı ad anahtarı kapsayıcısı belirtir.
--keyfile:filename Oluşturulan derlemeyi imzalamak için ortak anahtar dosyasının adını belirtir.
--lib:folder-name

-I:folder-name
Başvuruda bulunılan derlemeler için aranacak dizini belirtir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /lib (C# Derleyici Seçenekleri).
--linkresource:resource-info Belirtilen bir kaynağı derlemeye bağlar. Resource-info biçimi şu şekildedir: filename[name[public|private]]

Tek bir kaynağı bu seçenekle bağlamak, bir kaynak dosyasının tamamını seçeneğiyle eklemeye --resource alternatiftir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /linkresource (C# Derleyici Seçenekleri).
--mlcompatibility Ml'nin diğer sürümleriyle uyumluluk için tasarlanmış özellikleri kullandığınızda görüntülenen uyarıları yoksayar.
--noframework .NET Framework derlemesine varsayılan başvuruyu devre dışı bırakır.
--nointerfacedata Derleyiciye normalde F#'a özgü meta verileri içeren bir derlemeye eklediği kaynağı atmasını bildirir.
--nologo Derleyici başlatılırken başlık metni gösterilmez.
--nooptimizationdata Derleyiciye yalnızca iç yapı uygulamak için gerekli iyileştirmeyi içermesini bildirir. Modüller arası inlining'i engeller ancak ikili uyumluluğu geliştirir.
--nowin32manifest Derleyiciye varsayılan Win32 bildirimini atmasını bildirir.
--nowarn:warning-number-list Numaraya göre listelenen belirli uyarıları devre dışı bırakır. Her uyarı numarasını virgülle ayırın. Derleme çıkışından herhangi bir uyarının uyarı numarasını bulabilirsiniz.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /nowarn (C# Derleyici Seçenekleri).
--optimize[+|-] [optimization-option-list]

-O[+|-] [optimization-option-list]
İyileştirmeleri etkinleştirir veya devre dışı bırakır. Bazı iyileştirme seçenekleri listelenerek devre dışı bırakılabilir veya seçmeli olarak etkinleştirilebilir. Bunlar: nojitoptimize, nojittracking, nolocaloptimize, nocrossoptimize, notailcalls.
--out:output-filename

-o:output-filename
Derlenen derlemenin veya modülün adını belirtir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /out (C# Derleyici Seçenekleri).
--pathmap:path=sourcePath,... Fiziksel yolların derleyici tarafından çıkış olarak kaynak yol adlarına nasıl eş yapılacağını belirtir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /pathmap (C# Derleyici Seçenekleri).
--pdb:pdb-filename Çıktı hata ayıklama PDB (program veritabanı) dosyasını adlandırır. Bu seçenek yalnızca aynı zamanda etkinleştirildiğinde --debug geçerlidir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /pdb (C# Derleyici Seçenekleri).
--platform:platform-name Oluşturulan kodun yalnızca belirtilen platformda (x86, Itaniumveya x64) çalışacağını belirtir veya platform adı anycpu seçilirse, oluşturulan kodun herhangi bir platformda çalışabileceğini belirtir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /platform (C# Derleyici Seçenekleri).
--preferreduilang:lang Tercih edilen çıkış dili kültür adını belirtir (örneğin, , es-ESja-JP).
--quotations-debug F# tırnak değişmez değerlerinden ve yansıtılan tanımlardan türetilen ifadeler için ek hata ayıklama bilgilerinin yayılması gerektiğini belirtir. Hata ayıklama bilgileri bir F# ifade ağacı düğümünün özel özniteliklerine eklenir. Bkz. Kod Teklifleri ve Expr.CustomAttributes.
--reference:assembly-filename

-r:assembly-filename
Bir F# veya .NET Framework derlemesinden gelen kodun derlenen kod için kullanılabilir olmasını sağlar.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /reference (C# Derleyici Seçenekleri).
--resource:resource-filename Yönetilen kaynak dosyasını oluşturulan derlemeye ekler.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /resource (C# Derleyici Seçenekleri).
--sig:signature-filename Oluşturulan derlemeyi temel alan bir imza dosyası oluşturur. İmza dosyaları hakkında daha fazla bilgi için bkz . İmzalar.
--simpleresolution Derleme başvurularının MSBuild çözümlemesi yerine dizin tabanlı Mono kuralları kullanılarak çözümlenmesi gerektiğini belirtir. Varsayılan değer, Mono altında çalıştırılan durumlar dışında MSBuild çözümlemesini kullanmaktır.
--standalone F# kitaplığı gibi ek derlemelere gerek kalmadan tek başına çalışması için tüm bağımlılıklarını içeren bir derlemenin üretilmesi gerektiğini belirtir.
--staticlink:assembly-name Verilen derlemeyi ve bu derlemeye bağlı olan tüm başvuruda bulunılan DLL'leri statik olarak bağlar. DLL adını değil derleme adını kullanın.
--subsystemversion Oluşturulan yürütülebilir dosya tarafından kullanılacak işletim sistemi alt sisteminin sürümünü belirtir. Windows 8.1 için 6.02, Windows 7 için 6.01, Windows Vista için 6.00 kullanın. Bu seçenek yalnızca DLL'ler için değil yürütülebilir dosyalar için geçerlidir ve yalnızca uygulamanız işletim sisteminin belirli sürümlerinde kullanılabilen belirli güvenlik özelliklerine bağlıysa kullanılmalıdır. Bu seçenek kullanılırsa ve kullanıcı uygulamanızı işletim sisteminin daha düşük bir sürümünde yürütmeye çalışırsa, hata iletisiyle başarısız olur.
--tailcalls[+|-] Kuyruk IL yönergesinin kullanımını etkinleştirir veya devre dışı bırakır, bu da yığın çerçevesinin kuyruk özyinelemeli işlevler için yeniden kullanılmasına neden olur. Bu seçenek varsayılan olarak etkindir.
--target:[exe|winexe|library|module] filename Oluşturulan derlenmiş kodun türünü ve dosya adını belirtir.
  • exe bir konsol uygulaması anlamına gelir.
  • winexe , standart giriş/çıkış akışlarının (stdin, stdout ve stderr) tanımlanmaması nedeniyle konsol uygulamasından farklı olan bir Windows uygulaması anlamına gelir.
  • library , giriş noktası olmayan bir derlemedir.
  • module bir .NET Framework modülüdür (.netmodule), daha sonra diğer modüllerle birleştirilerek bir bütünleştirilmiştir.
--times Derleme için zamanlama bilgilerini görüntüler.
--utf8output UTF-8 kodlamasında derleyici çıktısını yazdırmayı etkinleştirir.
--warn:warning-level Bir uyarı düzeyi (0 - 5) ayarlar. Varsayılan düzey 3'dür. Her uyarıya önem derecesine göre bir düzey verilir. Düzey 5, düzey 1'den daha fazla ama daha az ciddi uyarılar verir.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /warn (C# Derleyici Seçenekleri).
--warnon:warning-number-list Varsayılan olarak kapalı veya başka bir komut satırı seçeneği tarafından devre dışı bırakılmış olabilecek belirli uyarıları etkinleştirin. Liste virgülle ayrılmıştır.
--warnaserror[+|-] [warning-number-list] Uyarıları hata olarak bildirme seçeneğini etkinleştirir veya devre dışı bırakır. Devre dışı bırakılacak veya etkinleştirilecek belirli uyarı numaraları sağlayabilirsiniz. Komut satırının önceki bölümlerinde yer alan seçenekler, komut satırının önceki bölümlerinde geçersiz kılma seçenekleridir. Örneğin, hata olarak raporlanmasını istemediğiniz uyarıları belirtmek için belirtin --warnaserror+ --warnaserror-:warning-number-list.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /warnaserror (C# Derleyici Seçenekleri).
--win32manifest:manifest-filename Derlemeye bir Win32 bildirim dosyası ekler. Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /win32manifest (C# Derleyici Seçenekleri).
--win32res:resource-filename Derlemeye bir Win32 kaynak dosyası ekler.

Bu derleyici seçeneği, aynı ada ait C# derleyici seçeneğiyle eşdeğerdir. Daha fazla bilgi için bkz . /win32res ((C#) Derleyici Seçenekleri).

Kabul uyarıları

F# derleyicisi birkaç kabul etme uyarısını destekler:

Sayı Özet Level Açıklama
21 Çalışma zamanında denetlenen özyineleme 5 Özyinelemeli bir kullanım çalışma zamanında başlatma-ses denetimi yapıldığında uyarır.
22 Bağlamalar sıra dışı yürütüldü 5 özyinelemeli bir bağlamanın ileriye doğru başvuru nedeniyle sıra dışı yürütülebileceği durumlarda uyarın.
52 Yapıların örtük kopyaları 5 Özgün yapının bir işlem tarafından kapatılmadığından emin olmak için sabit bir yapı kopyalandığında uyarın.
1178 Örtük eşitlik/karşılaştırma 5 Bir F# türü bildirimi örtük olarak veya NoEquality NoComparison olarak çıkarsandığında ancak öznitelik türünde mevcut olmadığında uyarın.
1182 Kullanılmayan değişkenler yok Kullanılmayan değişkenler için uyarır.
3180 Örtük yığın ayırmaları yok Kapatılan bir yerel, örtük olarak bir başvuru hücresi olarak ayrıldığında uyarır.
3366 Dizin gösterimi yok F# 5 dizin gösterimi expr.[idx] kullanıldığında uyarır.
3517 InlineIfLambda hatası yok F# iyileştiricisi bir InlineIfLambda değeri satır içi olarak sıralayamazsa uyarır, örneğin açık bir lambda yerine hesaplanan işlev değeri sağlanmışsa.
3387 op_Implicit dönüşüm yok Yöntem bağımsız değişkeninde .NET örtük dönüştürme kullanıldığında uyarır.
3388 Ek örtük yukarı yayın yok F# 6'ya eklenen ek bir yukarı yayın örtük olarak kullanıldığında uyarır.
3389 Örtük genişletme yok Örtük bir sayısal genişletme kullanıldığında uyarır.
3390 Hatalı biçimlendirilmiş XML belgesi açıklamaları yok XML belge açıklamalarının çeşitli şekillerde yanlış biçimlendirildiğinde uyarır.

Bu uyarıları, ilgili uyarı numarasını veya <WarnOn>NNNN</WarnOn> nerede NNNN olduğunu kullanarak /warnon:NNNN etkinleştirebilirsiniz. (Söz dizimini <WarnOn>FSNNNN</WarnOn>de kullanabilirsiniz; örneğin <WarnOn>FS3388</WarnOn>. .) Özellik birden çok kez belirtilirse WarnOn yalnızca son oluşumun kullanıldığını unutmayın. Birden çok uyarı belirtmek için, özelliğine WarnOn içeriği olarak virgülle ayrılmış bir dize sağlayın: <WarnOn>3388,3559</WarnOn>.

Ünvan Açıklama
F# Interactive Seçenekleri F# yorumlayıcı fsi.exe tarafından desteklenen komut satırı seçeneklerini açıklar.
Proje Özellikleri Başvurusu Derleme seçenekleri sağlayan proje özellik sayfaları da dahil olmak üzere projeler için kullanıcı arabirimini açıklar.