Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
NuGet, bir paketin çerçeveye bağımlı bileşenlerini özel olarak tanımlamak ve yalıtmak için çeşitli yerlerde hedef çerçeve başvurularını kullanır:
- proje dosyası: SDK stilindeki projeler için .csproj hedef çerçeve başvurularını içerir.
- .nuspec bildirimi: Paket, projenin hedef çerçevesine bağlı olarak projeye eklenecek farklı paketleri gösterebilir.
-
.nupkg klasör adı: Bir paketin
libklasörünün içindeki klasörler hedef çerçeveye göre adlandırılabilir; her biri dll'leri ve bu çerçeveye uygun diğer içerikleri içerir. -
packages.config:
targetframeworkBağımlılığın özniteliği, yüklenecek paketin değişkenini belirtir.
Desteklenen tüm hedef çerçevelerin ve TFM söz dizimlerinin kurallı listesi için bkz. SDK stili projelerde hedef çerçeveler.
TargetFramework değerleri diğer adlardır
TargetFramework Proje dosyasındaki özellik, kurallı çerçeve kimliğine çevrilen kolay bir addır (diğer addır). .NET SDK'sı bu çeviriyi TargetFrameworkMoniker (TFM) ve uygun TargetPlatformMoniker olduğunda özelliklerini ayarlayarak gerçekleştirir.
Örneğin, yazdığınızda <TargetFramework>net10.0-windows</TargetFramework>.NET SDK bunu şu şekilde çevirir:
TargetFrameworkMoniker=.NETCoreApp,Version=v10.0TargetPlatformMoniker=Windows,Version=7.0
NuGet, paket uyumluluk denetimleri için dizeyi TargetFramework değil bu takma adı özelliklerini kullanır. Bu, takma ad özellikleri doğru ayarlandığı sürece değerin herhangi bir dize olabileceği anlamına gelir TargetFramework . Örneğin, aşağıdaki proje geçerlidir:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>banana</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'banana' ">
<TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v10.0</TargetFrameworkVersion>
<TargetFrameworkMoniker>.NETCoreApp,Version=v10.0</TargetFrameworkMoniker>
</PropertyGroup>
</Project>
Bu proje, değeri olsa TargetFramework bile .NET 10.0 için geri yükler ve derler banana. .NET SDK'sı, kısa TFM'nin platform bilgileriyle tam takma adına çevrildiği ve net8.0-androidgibi net8.0-ios işletim sistemine özgü TFM'ler için bu diğer ad mekanizmasına zaten dayanır.
Yinelenen çerçevelerle çoklu hedefleme
NuGet 7.6 / .NET SDK 10.0.300'den başlayarak, birden çok TargetFrameworks diğer ad aynı etkin çerçeveye çözümlenebilir. Bu, çoklu RID derlemeleri ve çok sürümlü uzantı hedefleme gibi senaryoları etkinleştirir. Bunun geri yükleme, paketleme, kilitleme dosyaları ve proje başvuruları ile nasıl çalıştığı hakkında ayrıntılı bilgi için bkz. Birden çok çerçeveyi hedefleme.
Desteklenen çerçeveler
Çerçeveye genellikle kısa bir hedef çerçeve adı veya TFM tarafından başvurulur. .NET Standard'da bu, birden çok çerçeveye tek bir başvuruya izin vermek için TxM'de de genelleştirilir.
Uyarı
Aşağıdaki tabloları hesaplayan NuGet istemci kaynak kodu aşağıdaki konumlarda bulunur:
- Desteklenen çerçeve adları: FrameworkConstants.cs
- Çerçeve önceliği ve eşlemesi: DefaultFrameworkMappings.cs
NuGet istemcileri aşağıdaki tabloda yer alan çerçeveleri destekler. Eşdeğerler köşeli ayraç [] içinde gösterilir. gibi dotnetbazı araçların bazı dosyalarda kurallı TFM'lerin çeşitlemelerini kullanabileceğini unutmayın. Örneğin, dotnet pack yerine bir .nuspec dosyada netcoreapp2.0kullanır.NETCoreApp2.0. Çeşitli NuGet istemci araçları bu çeşitlemeleri düzgün bir şekilde işler, ancak dosyaları doğrudan düzenlerken her zaman kurallı TFM'ler kullanmanız gerekir.
| İsim | Abbreviation | TFM'ler/TxM'ler |
|---|---|---|
| .NET Çerçevesi | Net | net11 |
| net20 | ||
| net35 | ||
| net40 | ||
| net403 | ||
| net45 | ||
| net451 | ||
| net452 | ||
| net46 | ||
| net461 | ||
| net462 | ||
| net47 | ||
| net471 | ||
| net472 | ||
| net48 | ||
| Microsoft Store (Windows Mağazası) | netcore | netcore [netcore45] |
| netcore45 [win, win8] | ||
| netcore451 [win81] | ||
| netcore50 | ||
| .NET MicroFramework | netmf | netmf |
| Windows | kazanmak | win [win8, netcore45] |
| win8 [netcore45, win] | ||
| win81 [netcore451] | ||
| win10 (Windows 10 Platformu tarafından desteklenmez) | ||
| Silverlight | Sl | sl4 |
| sl5 | ||
| Windows Phone (SL) | Wp | wp [wp7] |
| wp7 | ||
| wp75 | ||
| wp8 | ||
| wp81 | ||
| Windows Phone (UWP) | wpa81 | |
| Evrensel Windows Platformu | Uçar | uap [uap10.0] |
| uap10.0 | ||
| uap10.0.xxxxx (burada 10.0.xxxxx, tüketen uygulamanın hedef platform min sürümüdür) | ||
| .NET Standard | netstandard | netstandard1.0 |
| netstandard1.1 | ||
| netstandard1.2 | ||
| netstandard1.3 | ||
| netstandard1.4 | ||
| netstandard1.5 | ||
| netstandard1.6 | ||
| netstandard2.0 | ||
| netstandard2.1 | ||
| .NET 5+ (ve .NET Core) | netcoreapp | netcoreapp1.0 |
| netcoreapp1.1 | ||
| netcoreapp2.0 | ||
| netcoreapp2.1 | ||
| netcoreapp2.2 | ||
| netcoreapp3.0 | ||
| netcoreapp3.1 | ||
| Net | net5.0 | |
| net6.0 | ||
| net7.0 | ||
| net8.0 | ||
| net9.0 | ||
| net10.0 | ||
| Tizen | tizen | tizen3 |
| tizen4 | ||
| Yerli | yerel | yerel |
Kullanım dışı çerçeveler
Aşağıdaki çerçeveler kullanım dışıdır. Bu çerçeveleri hedefleyen paketler belirtilen değişimlere geçirilmelidir.
| Kullanım dışı çerçeve | Replacement |
|---|---|
| aspnet50 | netcoreapp |
| aspnetcore50 | |
| dnxcore50 | |
| Dnx | |
| dnx45 | |
| dnx451 | |
| dnx452 | |
| dotnet | netstandard |
| dotnet50 | |
| dotnet51 | |
| dotnet52 | |
| dotnet53 | |
| dotnet54 | |
| dotnet55 | |
| dotnet56 | |
| winrt | kazanmak |
Öncelik
Bir dizi çerçeve birbiriyle ilişkilidir ve birbiriyle uyumludur, ancak eşdeğer olması gerekmez:
| Çerçeve | Kullanabilir |
|---|---|
| uap (Evrensel Windows Platformu) | Windows 8.1 |
| wpa81 | |
| netcore50 | |
| win (Microsoft Store) | winrt |
NET Standard
.NET Standard , ikili uyumlu çerçeveler arasındaki başvuruları basitleştirerek tek bir hedef çerçevenin diğerlerinin birleşimine başvurmasını sağlar. (Arka plan için bkz . .NET Primer.)
NuGet En Yakın ÇerçeveYi Al Aracı, projenin çerçevesine göre bir paketteki birçok kullanılabilir çerçeve varlığından bir çerçeve seçmek için NuGet'in ne kullandığının benzetimini oluşturur.
Ad dotnet dizileri NuGet 3.3 ve önceki sürümlerde kullanılmalıdır; netstandard v3.4 ve sonraki sürümlerde takma ad söz dizimi kullanılmalıdır.
Taşınabilir Sınıf Kitaplıkları
Uyarı
PCL'ler önerilmez. PCL'ler destekleniyor olsa da, paket yazarlarının bunun yerine netstandard'ı desteklemesi gerekir. .NET Platform Standardı, PCL'lerin evrimidir ve taşınabilir-a+b+c adlarına benzer statik bir kitaplığa bağlı olmayan tek bir ad kullanarak platformlar arasında ikili taşınabilirliği temsil eder.
Birden çok alt-hedef çerçeveye başvuran bir hedef çerçeve tanımlamak için, portable başvuruda bulunılan çerçeveler listesine ön ek eklemek için kullanılan anahtar sözcük kullanılır. Doğrudan derlenmeyen ek çerçeveleri yapay olarak eklemekten kaçının çünkü bu çerçevelerde istenmeyen yan etkilere yol açabilir.
Üçüncü taraflar tarafından tanımlanan ek çerçeveler, bu şekilde erişilebilen diğer ortamlarla uyumluluk sağlar. Buna ek olarak, bu ilişkili çerçeve Profile#birleşimlerine olarak başvurmak için kullanılabilen kısaltma profil numaraları vardır, ancak bu, ve klasörlerinin .nuspecokunabilirliğini azalttığı için bu sayıların kullanılması önerilen bir uygulama değildir.
| Profil # | Çerçeveler | Tam adı | .NET Standard |
|---|---|---|---|
| Profil2 | . NETFramework 4.0 | portable-net40+win8+sl4+wp7 | |
| Windows 8.0 | |||
| Silverlight 4.0 | |||
| WindowsPhone 7.0 | |||
| Profil3 | . NETFramework 4.0 | portable-net40+sl4 | |
| Silverlight 4.0 | |||
| Profil4 | . NETFramework 4.5 | portable-net45+sl4+win8+wp7 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| WindowsPhone 7.0 | |||
| Profil5 | . NETFramework 4.0 | portable-net40+win8 | |
| Windows 8.0 | |||
| Profil6 | . NETFramework 4.0.3 | portable-net403+win8 | |
| Windows 8.0 | |||
| Profil7 | . NETFramework 4.5 | taşınabilir-net45+win8 | netstandard1.1 |
| Windows 8.0 | |||
| Profil14 | . NETFramework 4.0 | portable-net40+sl5 | |
| Silverlight 5.0 | |||
| Profil18 | . NETFramework 4.0.3 | portable-net403+sl4 | |
| Silverlight 4.0 | |||
| Profil19 | . NETFramework 4.0.3 | portable-net403+sl5 | |
| Silverlight 5.0 | |||
| Profil23 | . NETFramework 4.5 | portable-net45+sl4 | |
| Silverlight 4.0 | |||
| Profil24 | . NETFramework 4.5 | taşınabilir-net45+sl5 | |
| Silverlight 5.0 | |||
| Profil31 | Windows 8.1 | taşınabilir-win81+wp81 | netstandard1.0 |
| WindowsPhone 8.1 (SL) | |||
| Profil32 | Windows 8.1 | taşınabilir-win81+wpa81 | netstandard1.2 |
| WindowsPhone 8.1 (UWP) | |||
| Profil36 | . NETFramework 4.0 | portable-net40+sl4+win8+wp8 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.0 (SL) | |||
| Profil37 | . NETFramework 4.0 | portable-net40+sl5+win8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| Profil41 | . NETFramework 4.0.3 | portable-net403+sl4+win8 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| Profil42 | . NETFramework 4.0.3 | portable-net403+sl5+win8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| Profil44 | . NETFramework 4.5.1 | taşınabilir-net451+win81 | netstandard1.2 |
| Windows 8.1 | |||
| Profil46 | . NETFramework 4.5 | taşınabilir-net45+sl4+win8 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| Profil47 | . NETFramework 4.5 | portable-net45+sl5+win8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| Profil49 | . NETFramework 4.5 | portable-net45+wp8 | netstandard1.0 |
| WindowsPhone 8.0 (SL) | |||
| Profil78 | . NETFramework 4.5 | taşınabilir-net45+win8+wp8 | netstandard1.0 |
| Windows 8.0 | |||
| WindowsPhone 8.0 (SL) | |||
| Profil84 | WindowsPhone 8.1 | taşınabilir-wp81+wpa81 | netstandard1.0 |
| WindowsPhone 8.1 (UWP) | |||
| Profil88 | . NETFramework 4.0 | portable-net40+sl4+win8+wp75 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| WindowsPhone 7.5 | |||
| Profil92 | . NETFramework 4.0 | portable-net40+win8+wpa81 | |
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| Profil95 | . NETFramework 4.0.3 | portable-net403+sl4+win8+wp7 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| WindowsPhone 7.0 | |||
| Profil96 | . NETFramework 4.0.3 | portable-net403+sl4+win8+wp75 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| WindowsPhone 7.5 | |||
| Profil102 | . NETFramework 4.0.3 | portable-net403+win8+wpa81 | |
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| Profil104 | . NETFramework 4.5 | taşınabilir-net45+sl4+win8+wp75 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| WindowsPhone 7.5 | |||
| Profil111 | . NETFramework 4.5 | taşınabilir-net45+win8+wpa81 | netstandard1.1 |
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| Profil136 | . NETFramework 4.0 | portable-net40+sl5+win8+wp8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.0 (SL) | |||
| Profil143 | . NETFramework 4.0.3 | portable-net403+sl4+win8+wp8 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.0 (SL) | |||
| Profil147 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wp8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.0 (SL) | |||
| Profil151 | NETFramework 4.5.1 | portable-net451+win81+wpa81 | netstandard1.2 |
| Windows 8.1 | |||
| WindowsPhone 8.1 (UWP) | |||
| Profil154 | . NETFramework 4.5 | portable-net45+sl4+win8+wp8 | |
| Silverlight 4.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.0 (SL) | |||
| Profil157 | Windows 8.1 | taşınabilir-win81+wp81+wpa81 | netstandard1.0 |
| WindowsPhone 8.1 (SL) | |||
| WindowsPhone 8.1 (UWP) | |||
| Profil158 | . NETFramework 4.5 | portable-net45+sl5+win8+wp8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.0 (SL) | |||
| Profil225 | . NETFramework 4.0 | portable-net40+sl5+win8+wpa81 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| Profil240 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wpa8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| Profil255 | . NETFramework 4.5 | portable-net45+sl5+win8+wpa81 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| Profil259 | . NETFramework 4.5 | portable-net45+win8+wpa81+wp8 | netstandard1.0 |
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| WindowsPhone 8.0 (SL) | |||
| Profil328 | . NETFramework 4.0 | portable-net40+sl5+win8+wpa81+wp8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| WindowsPhone 8.0 (SL) | |||
| Profil336 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wpa81+wp8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| WindowsPhone 8.0 (SL) | |||
| Profil344 | . NETFramework 4.5 | portable-net45+sl5+win8+wpa81+wp8 | |
| Silverlight 5.0 | |||
| Windows 8.0 | |||
| WindowsPhone 8.1 (UWP) | |||
| WindowsPhone 8.0 (SL) |
Ayrıca, Xamarin'i hedefleyen NuGet paketleri ek Xamarin tanımlı çerçeveler kullanabilir:
| İsim | Açıklama | .NET Standard |
|---|---|---|
| monoandroid | Android işletim sistemi için Mono Desteği | netstandard1.4 |
| monotouch | iOS için Mono Desteği | netstandard1.4 |
| monomac | OSX için Mono Desteği | netstandard1.4 |
| xamarinios | iOS için Xamarin desteği | netstandard1.4 |
| xamarinmac | Mac için Xamarin'i destekler | netstandard1.4 |
| xamarinpsthree | Playstation 3'te Xamarin desteği | netstandard1.4 |
| xamarinpsfour | Playstation 4'te Xamarin desteği | netstandard1.4 |
| xamarinpsvita | PS Vita'da Xamarin desteği | netstandard1.4 |
| xamarinwatchos | watch işletim sistemi için Xamarin | netstandard1.4 |
| xamarintvos | TV işletim sistemi için Xamarin | netstandard1.4 |
| xamarinxboxthreesixty | XBox 360 için Xamarin | netstandard1.4 |
| xamarinxboxone | XBox One için Xamarin | netstandard1.4 |
Uyarı
Stephen Cleary, desteklenen PCL'leri listeleyen ve .NET'teki Framework profillerini içeren gönderisinde bulabileceğiniz bir araç oluşturdu.