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).
--checknulls[+|-] Engedélyezi null értékű hivatkozástípusokat, amelyek az F# 9 fájlban lesznek hozzáadva.
--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 szint 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.
3186 Hiányzó metaadat-deklaráció n.a. Figyelmeztetés, ha egy F#-metaadat-csomópont nem rendelkezik egyező deklarációval. Jelezhet egy hibás szerelvényt; előfordulhat, hogy újrafordítás szükséges.
3366 Index jelölése n.a. Figyelmeztetés az F# 5 index jelölésének expr.[idx] használatakor.
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.
3395 Implicit metódus argumentumának konvertálása n.a. Figyelmeztessen arra, ha implicit konverziót használnak egy metódusargumentum típusával való egyeztetéshez.
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.
3559 Az obj-ként kikövetkesedő típus n.a. Figyelmeztetés, ha egy típus implicit módon 'obj'-ként van levezetve. Javasolt explicit típusú széljegyzetek hozzáadása.
3560 Minden mező megváltozott a rekord másolatában. n.a. Figyelmeztetés, ha egy rekord másolási és frissítési kifejezése módosítja az összes mezőt. Ajánlott a rekordszerkezet szintaxisának használata.
3570 Kérdéses törlés vagy rövidítés n.a. Figyelmezteti, ha a(z) "_" nem egyértelmű módon használatos elvetésként és rövidített függvényként is ugyanabban a hatókörben.
3579 Típus nélküli karakterlánc-interpoláció n.a. Figyelmeztetés, ha az interpolált sztringek nem beírt értékeket tartalmaznak. A gépelt formátumjelölők használata ajánlott.
3582 Függvény árnyékai unió esete n.a. Figyelmeztetés, ha egy függvénydefiníció véletlenül árnyékolást ad egy egyesítő esetnek. Zárójelek használatával tegyél egyértelművé.
3878 Érvénytelen attribútum a mezőkkel rendelkező egyesítő esetnél n.a. Figyelmeztetés, ha egy attribútum érvénytelen a mezőkkel rendelkező egyesítő esetekben való használatra.

Ezeket a figyelmeztetéseket a megfelelő figyelmeztetési szám használatával vagy /warnon:NNNN a <WarnOn>NNNN</WarnOn> megfelelő számmal NNNN engedélyezheti. (Használhatja például a szintaxist <WarnOn>FSNNNN</WarnOn><WarnOn>FS3388</WarnOn>is.) 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.