Megosztás a következőn keresztül:


Fordító beállításai

Ez a cikk az F#-fordító fordító parancssori beállításait ismerteti. A parancs dotnet build meghívja az F# fordítót az F# projektfájlokon. Az F#-projektfájlokat a .fsproj bővítmény rögzíti.

A fordítási környezet a projekttulajdonságok beállításával is vezérelhető. A .NET Core-t megcélzó projekteknél a rendszer az "Egyéb jelzők" tulajdonságot <OtherFlags>...</OtherFlags> .fsprojhasználja a további parancssori beállítások megadásához.

Betűrendben felsorolt fordítóbeállítások

Az alábbi táblázat az ábécérendben felsorolt fordítóbeállításokat mutatja be. Az F#-fordító egyes beállításai hasonlóak a C#-fordító beállításaihoz. Ebben az esetben a C#-fordító beállításainak témakörére mutató hivatkozás jelenik meg.

Fordítási beállítás Leírás
--allsigs Létrehoz egy új (vagy egy meglévő) aláírásfájlt a fordításban lévő összes forrásfájlhoz. Az aláírási fájlokról további információt az Aláírások című témakörben talál.
-a filename.fs Létrehoz egy tárat a megadott fájlból. Ez a beállítás a rövid formája.--target:library filename.fs
--baseaddress:address Megadja a DLL betöltéséhez előnyben részesített alapcímet.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /baseaddress (C# Compiler Options).
--codepage:id Megadja, hogy melyik kódlapot használja a fordítás során, ha a szükséges lap nem a rendszer jelenlegi alapértelmezett kódlapja.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /code pages (C# Compiler Options).
--consolecolors Megadja, hogy a hibák és figyelmeztetések színkódolt szöveget használjanak a konzolon.
--crossoptimize[+ or -] Engedélyezi vagy letiltja a modulközi optimalizálásokat.
--delaysign[+|-] Késleltetheti a szerelvény aláírását az erős névkulcs nyilvános részének használatával.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /delaysign (C# Compiler Options).
--checked[+|-] Engedélyezi vagy letiltja a túlcsordulás-ellenőrzések létrehozását.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /checked (C# Compiler Options).
--debug[+|-]

-g[+|-]

--debug:[full|pdbonly]

-g: [full|pdbonly]
Engedélyezi vagy letiltja a hibakeresési információk létrehozását, vagy megadja a létrehozandó hibakeresési információk típusát. Az alapértelmezett beállítás, fullamely lehetővé teszi a futó programhoz való csatolást. A pdf-fájlban (programadatbázisban) tárolt korlátozott hibakeresési információk lekérése mellett dönt pdbonly .

Egyenértékű az azonos nevű C#-fordító beállítással. További információk:

/debug (C# Fordító beállításai).
--define:symbol

-d:symbol
Egy szimbólumot határoz meg a feltételes fordításban való használatra.
--deterministic[+|-] Determinisztikus szerelvényt hoz létre (beleértve a modul GUID-verzióját és az időbélyeget). Ez a beállítás nem használható helyettesítő karakterek verziószámaival, és csak a beágyazott és a hordozható hibakeresési típusokat támogatja
--doc:xmldoc-filename Utasítja a fordítót, hogy hozzon létre XML-dokumentációs megjegyzéseket a megadott fájlhoz. További információ: XML-dokumentáció.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /doc (C# Fordító beállításai).
--fullpaths Utasítja a fordítót, hogy hozzon létre teljes elérési utakat.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /fullpaths (C# Compiler Options).
--help

-?
Megjeleníti a használati adatokat, beleértve az összes fordítóbeállítás rövid leírását.
--highentropyva[+|-] Engedélyezze vagy tiltsa le a magas entrópiás címtérelrendezés véletlenszerűsítését (ASLR), amely egy továbbfejlesztett biztonsági funkció. Az operációs rendszer véletlenszerűen válogatja ki a memória azon helyeit, ahol az alkalmazások infrastruktúrája (például a verem és a halom) betöltődik. Ha engedélyezi ezt a beállítást, az operációs rendszerek ezt a véletlenszerűítést használhatják a teljes 64 bites címtér használatára egy 64 bites gépen.
--keycontainer:key-container-name Erős névkulcstárolót ad meg.
--keyfile:filename Megadja a létrehozott szerelvény aláírásához szükséges nyilvános kulcsfájl nevét.
--lib:folder-name

-I:folder-name
Megadja a hivatkozott szerelvények keresésére szolgáló könyvtárat.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /lib (C# Fordító beállításai).
--linkresource:resource-info Adott erőforrás csatolása a szerelvényhez. Az erőforrás-információk formátuma a következő: filename[name[public|private]]

Ha egyetlen erőforrást kapcsol össze ezzel a beállítással, az egy teljes erőforrásfájl beágyazása a --resource beállítással.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /linkresource (C# Compiler Options).
--mlcompatibility Figyelmen kívül hagyja azokat a figyelmeztetéseket, amelyek az ml más verzióival való kompatibilitásra tervezett funkciók használatakor jelennek meg.
--noframework Letiltja a .NET-keretrendszer szerelvény alapértelmezett hivatkozását.
--nointerfacedata Utasítja a fordítót, hogy hagyja ki azt az erőforrást, amelyet általában hozzáad egy F#-specifikus metaadatokat tartalmazó szerelvényhez.
--nologo A fordító indításakor nem jelenik meg a szalagcím szövege.
--nooptimizationdata Arra utasítja a fordítót, hogy csak a beágyazott szerkezetek implementálásához elengedhetetlen optimalizálást foglalja magában. Gátolja a modulközi tagolást, de javítja a bináris kompatibilitást.
--nowin32manifest Utasítja a fordítót, hogy hagyja ki az alapértelmezett Win32-jegyzékfájlt.
--nowarn:warning-number-list Letiltja a szám szerint felsorolt egyes figyelmeztetéseket. Különítse el az egyes figyelmeztetési számokat vesszővel. A fordítási kimenetből származó figyelmeztetések esetén felfedezheti a figyelmeztetés számát.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /nowarn (C# Compiler Options).
--optimize[+|-] [optimization-option-list]

-O[+|-] [optimization-option-list]
Engedélyezi vagy letiltja az optimalizálásokat. Néhány optimalizálási lehetőség letiltható vagy szelektíven engedélyezhető a listázásukkal. Ezek a következők: nojitoptimize, nojittracking, nolocaloptimize, , nocrossoptimize. notailcalls
--out:output-filename

-o:output-filename
Megadja a lefordított szerelvény vagy modul nevét.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /out (C# Fordító beállításai).
--pathmap:path=sourcePath,... Megadja, hogyan képezheti le a fizikai elérési utakat a forrásútvonalak neveinek kimenetéhez a fordító által.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /pathmap (C# Compiler Options).
--pdb:pdb-filename A kimeneti hibakeresési PDB -fájl (programadatbázis) neve. Ez a beállítás csak akkor érvényes, ha --debug engedélyezve van.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /pdb (C# Compiler Options).
--platform:platform-name Azt adja meg, hogy a létrehozott kód csak a megadott platformon (x86Itaniumvagy ) fusson, vagy x64ha a platformnév anycpu van kiválasztva, azt határozza meg, hogy a létrehozott kód bármely platformon futtatható legyen.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /platform (C# Compiler Options).
--preferreduilang:lang Az előnyben részesített kimeneti nyelvi kultúra nevét adja meg (például es-ES, ja-JP).
--quotations-debug Megadja, hogy további hibakeresési információkat kell kiadni az F#-idéző literálokból és a tükrözött definíciókból származtatott kifejezésekhez. A hibakeresési információk hozzá lesznek adva egy F# kifejezésfacsomópont egyéni attribútumaihoz. Lásd: Kódajánlatok és Expr.CustomAttributes.
--reference:assembly-filename

-r:assembly-filename
Elérhetővé teszi az F# vagy .NET-keretrendszer szerelvény kódját a lefordított kód számára.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /reference (C# Compiler Options).
--resource:resource-filename Felügyelt erőforrásfájl beágyazása a létrehozott szerelvénybe.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /resource (C# Compiler Options).
--sig:signature-filename Létrehoz egy aláírásfájlt a létrehozott szerelvény alapján. Az aláírási fájlokról további információt az Aláírások című témakörben talál.
--simpleresolution Megadja, hogy a szerelvényhivatkozásokat az MSBuild feloldás helyett címtáralapú Mono-szabályokkal kell feloldani. Az alapértelmezett az MSBuild felbontás használata, kivéve, ha a Mono alatt fut.
--standalone Olyan szerelvényt hoz létre, amely az összes függőségét tartalmazza, hogy önmagában fusson anélkül, hogy további szerelvényekre, például az F#-kódtárra lenne szükség.
--staticlink:assembly-name Statikusan összekapcsolja az adott szerelvényt és az összes hivatkozott DLL-t, amely a szerelvénytől függ. A szerelvény nevét használja, ne a DLL-nevet.
--subsystemversion Megadja az operációsrendszer-alrendszer azon verzióját, amelyet a generált végrehajtható fájl használ. Használja a 6.02-t Windows 8.1-hez, 6.01-hez Windows 7-hez, Windows Vista 6.00-hoz. Ez a beállítás csak a végrehajtható fájlokra vonatkozik, nem a DLL-re, és csak akkor kell használni, ha az alkalmazás csak az operációs rendszer bizonyos verzióiban elérhető bizonyos biztonsági funkcióktól függ. Ha ezt a lehetőséget használja, és egy felhasználó megkísérli végrehajtani az alkalmazást az operációs rendszer egy alacsonyabb verzióján, hibaüzenet jelenik meg.
--tailcalls[+|-] Engedélyezi vagy letiltja a tail IL utasítás használatát, ami miatt a veremkeret újra felhasználható a farok rekurzív funkcióihoz. A beállítás alapértelmezés szerint engedélyezett.
--target:[exe|winexe|library|module] filename Megadja a létrehozott lefordított kód típusát és fájlnevét.
  • exe egy konzolalkalmazást jelent.
  • winexe Olyan Windows-alkalmazást jelent, amely abban különbözik a konzolalkalmazástól, hogy nincs meghatározva szabványos bemeneti/kimeneti stream (stdin, stdout és stderr).
  • library olyan szerelvény, amely nem rendelkezik belépési ponttal.
  • moduleegy .NET-keretrendszer modul (.netmodule), amely később más modulokkal kombinálható egy szerelvényben.
--times A fordítás időzítési adatait jeleníti meg.
--utf8output Lehetővé teszi a fordító kimenetének nyomtatását az UTF-8 kódolásban.
--warn:warning-level Figyelmeztetési szintet állít be (0–5). Az alapértelmezett szint 3. Minden figyelmeztetés a súlyossága alapján kap egy szintet. Az 5. szint több, de kevésbé súlyos figyelmeztetést ad, mint az 1. szint.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /warn (C# Compiler Options).
--warnon:warning-number-list Engedélyezze azokat a figyelmeztetéseket, amelyek alapértelmezés szerint ki vannak kapcsolva, vagy egy másik parancssori beállítás letiltja őket. A lista vesszővel van elválasztva.
--warnaserror[+|-] [warning-number-list] Engedélyezi vagy letiltja a figyelmeztetések hibaként való jelentésének lehetőségét. Megadhat meghatározott, letiltandó vagy engedélyezhető figyelmeztető számokat. A parancssor korábbi felülbírálási beállításainak későbbi beállításai. Ha például meg szeretné adni azokat a figyelmeztetéseket, amelyeket nem szeretne hibaként jelenteni, adja meg --warnaserror+ --warnaserror-:warning-number-list.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /warnaserror (C# Compiler Options).
--win32manifest:manifest-filename Hozzáad egy Win32-jegyzékfájlt a fordításhoz. Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /win32manifest (C# Compiler Options).
--win32res:resource-filename Hozzáad egy Win32-erőforrásfájlt a fordításhoz.

Ez a fordítóbeállítás egyenértékű az azonos nevű C#-fordító beállítással. További információ: /win32res ((C#) Compiler Options).

Bejelentkezési figyelmeztetések

Az F#-fordító számos opt-in figyelmeztetést támogat:

Szám Összegzés Level Leírás
21 Futtatáskor ellenőrzött rekurzió 5 Figyelmezteti, ha a rekurzív használat futásidőben inicializálási-hangjelzést ad meg.
22 Rendelésen kívül végrehajtott kötések 5 Figyelmeztetés, ha egy rekurzív kötést egy előre mutató hivatkozás miatt nem lehet sorrendben végrehajtani.
52 A szerkezetek implicit másolatai 5 Figyelmeztesse, ha egy nem módosítható szerkezetet másol, hogy az eredetit ne mutánsítsa egy művelet.
1178 Implicit egyenlőség/összehasonlítás 5 Figyelmeztetés, ha egy F# típusú deklaráció implicit módon arra következtet, hogy az, NoEquality vagy NoComparison ha az attribútum nincs jelen a típuson.
1182 Nem használt változók n.a. Figyelmeztetés a fel nem használt változókra.
3180 Implicit halomfoglalások n.a. Figyelmeztetés, ha egy mutable local implicit módon van lefoglalva hivatkozási cellaként, mert egy lezárás rögzítette.
3366 Index jelölése n.a. Figyelmeztetés az F# 5 index jelölésének expr.[idx] használatakor.
3517 InlineIfLambda hiba n.a. Figyelmeztetés, ha az F#-optimalizáló nem tud beágyazott InlineIfLambda értékeket megadni, például ha explicit lambda helyett számított függvényérték van megadva.
3387 op_Implicit konverzió n.a. Figyelmezteti, ha .NET implicit konverziót használ egy metódusargumentumban.
3388 További implicit felcímkésítés n.a. Figyelmeztetés további, implicit módon használt felcímkésítés esetén, az F# 6-ban hozzáadva.
3389 Implicit szélesítés n.a. Figyelmeztetés implicit számszűkítés használatakor.
3390 Hibás xml-dokumentum megjegyzései n.a. Figyelmeztetés, ha az XML-dokumentum megjegyzései különböző módokon helytelenül vannak formázva.

Ezeket a figyelmeztetéseket a megfelelő figyelmeztetési szám használatával vagy <WarnOn>NNNN</WarnOn> a NNNN megfelelő számmal /warnon:NNNN engedélyezheti. (Használhatja a szintaxist <WarnOn>FSNNNN</WarnOn>is( pl. <WarnOn>FS3388</WarnOn>.) Vegye figyelembe, hogy ha a WarnOn tulajdonság többször van megadva, csak az utolsó előfordulást használja a rendszer. Több figyelmeztetés megadásához adja meg a WarnOn tulajdonságot egyszer egy vesszővel elválasztott sztring tartalomként: <WarnOn>3388,3559</WarnOn>.

Cím Leírás
Interaktív F#-beállítások Az F#-értelmező által támogatott parancssori beállításokat ismerteti, fsi.exe.
Projekttulajdonságok – referencia A projektek felhasználói felületét ismerteti, beleértve a buildelési lehetőségeket biztosító projekttulajdonság-lapokat is.