Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een bibliotheek kan API's die niet beschikbaar zijn in het compilatiedoel niet rechtstreeks gebruiken. FSharp.Core 11 voegt een netstandard2.0-build toe naast net10.0 en netstandard2.1, zodat het moderne .NET API's kan gebruiken zonder oudere doelen te laten vallen.
Doelspecifieke API's en gedrag
De builds kunnen verschillende API's en implementaties beschikbaar maken. De targetingbeslissing kiest expliciet het moderne doelplatform; het volgt niet automatisch het ontwikkeldoel van de compiler.
Welke build uw project gebruikt
NuGet selecteert de dichtstbijzijnde compatibele asset voor elk projectdoel. .NET 10 en latere projecten kunnen lib/net10.0/FSharp.Core.dll selecteren; oudere compatibele doelen selecteren een .NET Standard-asset.
Beschikbaarheid controleren:
- Controleer de opgeloste FSharp.Core-pakketversie.
- Inspecteer de geselecteerde compileer- en runtime-assets in
obj/project.assets.json. - Controleer de runtime waarmee de toepassing wordt uitgevoerd, niet alleen de referentieassembly's.
<LangVersion>preview</LangVersion> maakt compilergedrag mogelijk. Hiermee worden geen ontbrekende Core-leden toegevoegd, een andere pakketasset geselecteerd of runtime-ondersteuning geboden.
Voorbeelden van de verschillen
| Area | Beschikbaarheid in Core 11 |
|---|---|
| ValueTask helpers en gerelateerde overloads | Beschikbaar in netstandard2.1 en net10.0, niet netstandard2.0. |
Grensbehoud Array2D.map, mapi en copy |
De net10.0 build maakt gebruik van een nieuwere .NET allocatie-API; .NET Standard-builds behouden hun fallback. |
| runtime-asynchrone return-intrinsics | Beschikbaar gesteld door de net10.0 build; Compiler-, taal-, referentie- en runtimevereisten zijn ook van toepassing. |
Zie Async en taakfuncties en Array2D en Native AOT voor meer informatie. Gewone Async/Taak-helpers en print/printn zijn beschikbaar in alle drie de builds.
F# Interactive en asynchrone opschoning
F#-taakexpressies ondersteunen al IAsyncDisposable hulpmiddelen in compatibele gecompileerde projecten. De oplossing voor het F# 11-verpakkingsprobleem levert de moderne Core-build aan F# Interactive, dus equivalente use en use! code werkt daar ook. Werk de toolset bij, niet alleen de pakketreferentie van een toepassing.
Runtime async is een afzonderlijk runtime-contract
De Core-buildtarget net10.0 biedt geen ondersteuning voor runtime-async. Volg de afzonderlijke compiler-, referentie- en runtimevereisten in Runtime async experiments.