FSharp.Core hedef çerçeveleri

Kitaplık, derleme hedefinden olmayan API'leri doğrudan kullanamaz. FSharp.Core 11, eski hedefleri bırakmadan modern .NET API'lerini kullanabilmesi için netstandard2.0 ve netstandard2.1 ile birlikte bir net10.0 derlemesi ekler.

Hedefe özgü API'ler ve davranış

Derlemeler farklı API'leri ve uygulamaları kullanıma açabilir. Hedefleme kararı, modern hedefi açıkça seçer; derleyicinin geliştirme hedefini otomatik olarak izlemez.

Projenizin hangi derlemeyi kullandığı

NuGet, her proje hedefi için en yakın uyumlu varlığı seçer. .NET 10 ve sonraki projeler lib/net10.0/FSharp.Core.dll seçebilir; daha eski uyumlu hedefler bir .NET Standard varlığı seçer.

Kullanılabilirliği teşhis etmek için:

  1. Çözümlenen FSharp.Core paket sürümünü denetleyin.
  2. obj/project.assets.json içinde seçili derleme ve çalışma zamanı varlıklarını inceleyin.
  3. Yalnızca başvuru derlemelerini değil, uygulamayı yürüten çalışma zamanını denetleyin.

<LangVersion>preview</LangVersion> derleyici davranışını etkinleştirir. Eksik Core üyeleri eklemez, farklı bir paket varlığı seçmez veya çalışma zamanı desteği sağlamaz.

Farklılıklara örnekler

Alan Core 11'de mevcut olma durumu
ValueTask yardımcıları ve ilgili ek yüklemeler net10.0 ve netstandard2.1 içinde kullanılabilir, netstandard2.0 içinde değil.
Sınırları koruma Array2D.map, mapive copy net10.0 derlemesi daha yeni bir .NET ayırma API'sini kullanır; .NET Standart derlemeler yedek çözümünü korur.
Çalışma zamanı asenkron dönüş içsel öğeleri net10.0 derleme tarafından sunulur; derleyici, dil, başvuru ve çalışma zamanı gereksinimleri de geçerlidir.

Ayrıntılar için bkz. Asenkron ve görev işlevleri ile Dizi2D ve Native AOT. Sıradan Async/Task yardımcıları ve print/printn üç derlemede de kullanılabilir.

F# Interactive ve zaman uyumsuz yok etme

F# görev ifadeleri, uyumlu derlenmiş projelerde IAsyncDisposable kaynaklarını zaten destekliyor. F# 11 paketleme düzeltmesi, modern Core derlemesini F# Interactive'e sağlar, böylece eşdeğer use ve use! kod da orada çalışır. Araç takımını güncelleştirin, yalnızca uygulamanın paket başvurusunu değil.

Runtime async, ayrı bir çalışma zamanı sözleşmesidir

Core derlemesinin net10.0 hedefi çalışma zamanı eşzamansızlık desteği oluşturmaz. Çalışma zamanı zaman uyumsuzluk denemelerinde ayrı derleyici, referans ve çalışma zamanı gereksinimlerini izleyin.

Ayrıca bkz.