Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy tár nem használhatja közvetlenül a fordítási célból hiányzó API-kat. Az FSharp.Core 11 egy buildet is netstandard2.0 hozzáadnet10.0, így netstandard2.1 modern .NET API-kat használhat a régebbi célok elvetése nélkül.
Célspecifikus API-k és viselkedés
A buildek különböző API-kat és implementációkat tehetnek elérhetővé. A célzási döntés explicit módon választja ki a modern célt; nem követi automatikusan a fordító fejlesztési célját.
Melyik buildet használja a projekt?
A NuGet minden projektcélhoz a legközelebbi kompatibilis eszközt választja ki. A .NET 10-es és újabb projektek a lib/net10.0/FSharp.Core.dll elemet választhatják; a régebbi kompatibilis célok egy .NET Standard objektumot választanak.
A rendelkezésre állás diagnosztizálása:
- Ellenőrizze a feloldott FSharp.Core-csomag verzióját.
- Vizsgálja meg a kijelölt buildelési és futtatókörnyezeti objektumokat itt:
obj/project.assets.json - Ellenőrizze az alkalmazást végrehajtó futtatókörnyezetet, nem csak a referenciaszerelvényeket.
A(z) <LangVersion>preview</LangVersion> lehetővé teszi a fordító működését. Nem ad hozzá hiányzó Core-tagokat, nem választ ki másik csomageszközt, és nem biztosít futtatókörnyezeti támogatást.
Példák a különbségekre
| Area | Rendelkezésre állás a Core 11-ben |
|---|---|
| ValueTask segítők és kapcsolódó túlterhelt változatok | Elérhető a(z) netstandard2.1 és net10.0 esetén, de nem a(z) netstandard2.0 esetén. |
Határokat megőrző Array2D.map, mapi, és copy |
A net10.0 build egy újabb .NET memóriakiosztási API-t használ; a .NET Standard buildek megtartják a tartalék megoldásukat. |
| Runtime-async visszatérési beépített függvények | A build által net10.0 meghatározott; fordítóra, nyelvre, referenciára és futtatókörnyezetre vonatkozó követelmények szintén érvényesek. |
További információkért lásd: Async és task functions és Array2D and Native AOT. A szokásos Async/Task segédfüggvények és a print/printn mindhárom buildben elérhetők.
F# Interaktív és aszinkron ártalmatlanítás
Az F#-feladatkifejezések már támogatják IAsyncDisposable a kompatibilis lefordított projektek erőforrásait. Az F# 11 csomagolási javítás biztosítja a modern Core-buildet az F# Interactive számára, így az egyenértékű use és use! kód is működik ott. Ne csak az alkalmazás csomaghivatkozását, hanem az eszközkészletet is frissítse.
A Runtime async egy külön futtatókörnyezeti kontraktus
A Core build net10.0 cél nem biztosít futásidejű aszinkron támogatást. Kövesse a Futásidejű aszinkron kísérletek részben szereplő különálló fordítói, referencia- és futásidejű követelményeket.