Kompilatoralternativ
I den här artikeln beskrivs kommandoradsalternativ för kompilatorn f#. Kommandot dotnet build
anropar F#-kompilatorn på F#-projektfiler. F#-projektfiler noteras med .fsproj
tillägget.
Kompileringsmiljön kan också styras genom att ange projektegenskaperna. För projekt som riktar sig till .NET Core används egenskapen <OtherFlags>...</OtherFlags>
"Andra flaggor" i , .fsproj
för att ange extra kommandoradsalternativ.
Kompilatoralternativ listade alfabetiskt
I följande tabell visas kompilatoralternativ i alfabetisk ordning. Vissa av F#-kompilatoralternativen liknar C#-kompilatoralternativen. I så fall tillhandahålls en länk till avsnittet C#-kompilatoralternativ.
Kompilatoralternativ | beskrivning |
---|---|
--allsigs |
Genererar en ny (eller återskapar en befintlig) signaturfil för varje källfil i kompileringsfilen. Mer information om signaturfiler finns i Signaturer. |
-a filename.fs |
Genererar ett bibliotek från den angivna filen. Det här alternativet är en kort form av --target:library filename.fs . |
--baseaddress:address |
Anger den primära basadress där en DLL ska läsas in. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /baseaddress (C#-kompilatoralternativ). |
--codepage:id |
Anger vilken kodsida som ska användas under kompileringen om den obligatoriska sidan inte är systemets aktuella standardkodsida. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /code pages (C#Compiler Options). |
--consolecolors |
Anger att fel och varningar använder färgkodad text i konsolen. |
--crossoptimize[+ or -] |
Aktiverar eller inaktiverar optimeringar mellan moduler. |
--delaysign[+|-] |
Fördröjning signerar sammansättningen med endast den offentliga delen av den starka namnnyckeln. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /delaysign (C#-kompilatoralternativ). |
--checked[+|-] |
Aktiverar eller inaktiverar genereringen av spillkontroller. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /checked (C#Compiler Options). |
--debug[+|-] -g[+|-] --debug:[full|pdbonly] -g: [full|pdbonly] |
Aktiverar eller inaktiverar genereringen av felsökningsinformation, eller anger vilken typ av felsökningsinformation som ska genereras. Standardvärdet är full , vilket gör det möjligt att ansluta till ett program som körs. Välj pdbonly att hämta begränsad felsökningsinformation som lagras i en pdb-fil (programdatabas).Motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /debug (C#-kompilatoralternativ). |
--define:symbol -d:symbol |
Definierar en symbol för användning i villkorlig kompilering. |
--deterministic[+|-] |
Skapar en deterministisk sammansättning (inklusive modulversionens GUID och tidsstämpel). Det här alternativet kan inte användas med jokerteckenversionsnummer och stöder endast inbäddade och bärbara felsökningstyper |
--doc:xmldoc-filename |
Instruerar kompilatorn att generera XML-dokumentationskommentarer till den angivna filen. Mer information finns i XML-dokumentationen. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /doc (C#-kompilatoralternativ). |
--fullpaths |
Instruerar kompilatorn att generera fullständigt kvalificerade sökvägar. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /fullpaths (C#-kompilatoralternativ). |
--help -? |
Visar användningsinformation, inklusive en kort beskrivning av alla kompilatoralternativ. |
--highentropyva[+|-] |
Aktivera eller inaktivera slumpmässig layout för hög entropiadressutrymme (ASLR), en förbättrad säkerhetsfunktion. Operativsystemet randomiserar de platser i minnet där infrastrukturen för program (till exempel stacken och heapen) läses in. Om du aktiverar det här alternativet kan operativsystem använda den här slumpmässigheten för att använda hela 64-bitars adressutrymmet på en 64-bitars dator. |
--keycontainer:key-container-name |
Anger en stark namnnyckelcontainer. |
--keyfile:filename |
Anger namnet på en offentlig nyckelfil för signering av den genererade sammansättningen. |
--lib:folder-name -I:folder-name |
Anger en katalog som ska sökas efter sammansättningar som refereras till. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /lib (C#-kompilatoralternativ). |
--linkresource:resource-info |
Länkar en angiven resurs till sammansättningen. Formatet för resursinformation är filename[name[public|private]] Att länka en enskild resurs med det här alternativet är ett alternativ till att bädda in en hel resursfil med alternativet --resource .Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /linkresource (C#-kompilatoralternativ). |
--mlcompatibility |
Ignorerar varningar som visas när du använder funktioner som är utformade för kompatibilitet med andra versioner av ML. |
--noframework |
Inaktiverar standardreferensen till .NET Framework-sammansättningen. |
--nointerfacedata |
Instruerar kompilatorn att utelämna den resurs som den normalt lägger till i en sammansättning som innehåller F#-specifika metadata. |
--nologo |
Visar inte banderollstexten när kompilatorn startas. |
--nooptimizationdata |
Instruerar kompilatorn att endast inkludera optimering som är nödvändig för att implementera inlindade konstruktioner. Hämmar inlinning mellan moduler men förbättrar binär kompatibilitet. |
--nowin32manifest |
Instruerar kompilatorn att utelämna standardmanifestet för Win32. |
--nowarn:warning-number-list |
Inaktiverar specifika varningar som anges efter nummer. Avgränsa varje varningsnummer med ett kommatecken. Du kan identifiera varningsnumret för alla varningar från kompileringsutdata. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /nowarn (C#-kompilatoralternativ). |
--optimize[+|-] [optimization-option-list] -O[+|-] [optimization-option-list] |
Aktiverar eller inaktiverar optimeringar. Vissa optimeringsalternativ kan inaktiveras eller aktiveras selektivt genom att visa dem. Dessa är: nojitoptimize , nojittracking , nolocaloptimize , nocrossoptimize , notailcalls . |
--out:output-filename -o:output-filename |
Anger namnet på den kompilerade sammansättningen eller modulen. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /out (C#Compiler Options). |
--pathmap:path=sourcePath,... |
Anger hur du mappar fysiska sökvägar till källsökvägsnamn som utdata från kompilatorn. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /pathmap (C#Compiler Options). |
--pdb:pdb-filename |
Namnger pdb-filen för utdatafelsökning (programdatabas). Det här alternativet gäller endast när --debug är också aktiverat.Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /pdb (C#-kompilatoralternativ). |
--platform:platform-name |
Anger att den genererade koden endast ska köras på den angivna plattformen (x86 , Itanium , eller x64 ), eller, om plattformsnamnet anycpu väljs, anger att den genererade koden kan köras på valfri plattform.Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /platform (C#Compiler Options). |
--preferreduilang:lang |
Anger det önskade språkkulturnamnet för utdata (till exempel es-ES , ja-JP ). |
--quotations-debug |
Anger att extra felsökningsinformation ska genereras för uttryck som härleds från F#-citatliteraler och reflekterade definitioner. Felsökningsinformationen läggs till i de anpassade attributen för en trädnod för F#-uttryck. Se Kodofferter och Expr.CustomAttributes. |
--reference:assembly-filename -r:assembly-filename |
Gör kod från en F#- eller .NET Framework-sammansättning tillgänglig för koden som kompileras. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /reference (C#Compiler Options). |
--resource:resource-filename |
Bäddar in en hanterad resursfil i den genererade sammansättningen. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /resource (C#Compiler Options). |
--sig:signature-filename |
Genererar en signaturfil baserat på den genererade sammansättningen. Mer information om signaturfiler finns i Signaturer. |
--simpleresolution |
Anger att sammansättningsreferenser ska matchas med hjälp av katalogbaserade monoregler i stället för MSBuild-upplösning. Standardvärdet är att använda MSBuild-upplösning förutom när du kör under Mono. |
--standalone |
Anger för att skapa en sammansättning som innehåller alla dess beroenden så att den körs av sig själv utan behov av ytterligare sammansättningar, till exempel F#-biblioteket. |
--staticlink:assembly-name |
Länkar statiskt den angivna sammansättningen och alla refererade DLL:er som är beroende av den här sammansättningen. Använd sammansättningsnamnet, inte DLL-namnet. |
--subsystemversion |
Anger vilken version av os-undersystemet som ska användas av den genererade körbara filen. Använd 6.02 för Windows 8.1, 6.01 för Windows 7, 6.00 för Windows Vista. Det här alternativet gäller endast körbara filer, inte DLL:er, och behöver bara användas om ditt program är beroende av specifika säkerhetsfunktioner som endast är tillgängliga för vissa versioner av operativsystemet. Om det här alternativet används och en användare försöker köra programmet på en lägre version av operativsystemet misslyckas det med ett felmeddelande. |
--tailcalls[+|-] |
Aktiverar eller inaktiverar användningen av tail IL-instruktionen, vilket gör att stackramen återanvänds för rekursiva tail-funktioner. Det här alternativet är aktiverat som standard. |
--target:[exe|winexe|library|module] filename |
Anger typ och filnamn för den genererade kompilerade koden.
|
--times |
Visar tidsinformation för kompilering. |
--utf8output |
Aktiverar utskrift av kompilatorutdata i UTF-8-kodningen. |
--warn:warning-level |
Anger en varningsnivå (0 till 5). Standardnivån är 3. Varje varning ges en nivå baserat på dess allvarlighetsgrad. Nivå 5 ger fler, men mindre allvarliga, varningar än nivå 1. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /warn (C#Compiler Options). |
--warnon:warning-number-list |
Aktivera specifika varningar som kan vara inaktiverade som standard eller inaktiverade av ett annat kommandoradsalternativ. Listan är kommaavgränsad. |
--warnaserror[+|-] [warning-number-list] |
Aktiverar eller inaktiverar alternativet att rapportera varningar som fel. Du kan ange specifika varningsnummer som ska inaktiveras eller aktiveras. Alternativ senare i alternativen för åsidosättning av kommandoraden tidigare på kommandoraden. Om du till exempel vill ange de varningar som du inte vill ska rapporteras som fel anger du --warnaserror+ --warnaserror-:warning-number-list .Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /warnaserror (C#-kompilatoralternativ). |
--win32manifest:manifest-filename |
Lägger till en Win32-manifestfil i kompileringsfilen. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /win32manifest (C#-kompilatoralternativ). |
--win32res:resource-filename |
Lägger till en Win32-resursfil i kompileringsfilen. Det här kompilatoralternativet motsvarar C#-kompilatoralternativet med samma namn. Mer information finns i /win32res ((C#) Compiler Options). |
Opt-in-varningar
F#-kompilatorn stöder flera opt-in-varningar:
Antal | Sammanfattning | Nivå | beskrivning |
---|---|---|---|
21 | Rekursionen kontrolleras vid körning | 5 | Varna när en rekursiv användning kontrolleras för initieringsljud vid körning. |
22 | Bindningar som körs i ordning | 5 | Varna när en rekursiv bindning kan köras i oordning på grund av en referens för vidarebefordran. |
52 | Implicita kopior av structs | 5 | Varna när en oföränderlig struct kopieras för att säkerställa att originalet inte muteras av en åtgärd. |
1178 | Implicit likhet/jämförelse | 5 | Varna när en F#-typdeklaration implicit härleds NoEquality till eller NoComparison men attributet inte finns på typen. |
1182 | Oanvända variabler | saknas | Varna för oanvända variabler. |
3180 | Implicita heap-allokeringar | saknas | Varna när en föränderlig lokal implicit allokeras som en referenscell eftersom den har fångats upp av en stängning. |
3366 | Index notation | saknas | Varna när index notationen expr.[idx] F# 5 används. |
3517 | InlineIfLambda-fel | saknas | Varna när F#-optimeraren inte kan infoga ett InlineIfLambda värde, till exempel om ett beräknat funktionsvärde har angetts i stället för en explicit lambda. |
3387 | op_Implicit omvandling |
saknas | Varna när en implicit .NET-konvertering används vid ett metodargument. |
3388 | Ytterligare implicit upcast | saknas | Varna när ytterligare en uppsändning implicit används, som läggs till i F# 6. |
3389 | Implicit breddning | saknas | Varna när en implicit numerisk breddning används. |
3390 | Felaktiga XML-dokumentkommenteringar | saknas | Varna när XML-dokumentkommentarna är felformerade på olika sätt. |
Du kan aktivera dessa varningar med hjälp /warnon:NNNN
av eller <WarnOn>NNNN</WarnOn>
var NNNN
är relevant varningsnummer.
(Du kan också använda syntaxen <WarnOn>FSNNNN</WarnOn>
, t.ex. <WarnOn>FS3388</WarnOn>
.) Observera att om egenskapen WarnOn
anges flera gånger används endast den senaste förekomsten. Om du vill ange flera varningar anger du WarnOn
egenskapen en gång med en kommaavgränsad sträng som dess innehåll: <WarnOn>3388,3559</WarnOn>
.
Relaterade artiklar
Title | Description |
---|---|
Interaktiva F#-alternativ | Beskriver kommandoradsalternativ som stöds av F#-tolken fsi.exe. |
Referens för projektegenskaper | Beskriver användargränssnittet för projekt, inklusive projektegenskapssidor som tillhandahåller byggalternativ. |