Требуемые версии .NET FrameworkTarget frameworks

NuGet использует ссылки на целевую платформу в различных местах, чтобы точно определить и изолировать зависимые от платформы компоненты пакета:NuGet uses target framework references in a variety of places to specifically identify and isolate framework-dependent components of a package:

  • манифест .nuspec: Можно указать отдельные пакеты, которые будут включены в проект, в зависимости от целевой платформы проекта в пакете..nuspec manifest: A package can indicate distinct packages to be included in a project depending on the project's target framework.
  • Имя папки .nupkg: Папки внутри пакета lib папке можно присвоить имя в соответствии с целевой платформы, каждый из которых содержит библиотеки DLL и другие материалы, необходимые для соответствующей платформы..nupkg folder name: The folders inside a package's lib folder can be named according to the target framework, each of which contains the DLLs and other content appropriate to that framework.
  • Packages.config: targetframework Атрибут зависимости задает вариант пакета для установки.packages.config: The targetframework attribute of a dependency specifies the variant of a package to install.

Примечание

Исходный код клиента NuGet, который рассчитывает приведенные ниже таблицы, располагается в следующих местах:The NuGet client source code that calculates the tables below is found in the following locations:

Поддерживаемые платформыSupported frameworks

Платформа обычно указывается коротким моникером целевой платформы (TFM).A framework is typically referenced by a short target framework moniker or TFM. В .NET Standard этот метод можно обобщить для TxM , чтобы одной ссылкой для нескольких платформ.In .NET Standard this is also generalized to TxM to allow a single reference to multiple frameworks.

Клиенты NuGet поддерживают платформы, представленные в следующей таблице.The NuGet clients support the frameworks in the table below. Эквивалентные обозначения отображаются в квадратных скобках [].Equivalents are shown within brackets []. Обратите внимание, что некоторые средства, например dotnet, могут использовать в некоторых файлах варианты канонических моникеров целевой платформы (TFM).Note that some tools, such as dotnet, might use variations of canonical TFMs in some files. Например, dotnet pack использует .NETCoreApp2.0 в файле .nuspec вместо netcoreapp2.0.For example, dotnet pack uses .NETCoreApp2.0 in a .nuspec file rather than netcoreapp2.0. Различные клиентские средства NuGet обрабатывают эти варианты различным образом, однако при непосредственном редактировании файлов всегда следует использовать канонические моникеры целевой платформы (TFM).The various NuGet client tools handle these variations properly, but you should always use canonical TFMs when editing files directly.

nameName СокращениеAbbreviation TFM/TxMTFMs/TxMs
.NET Framework.NET Framework netnet net11net11
net20net20
net35net35
net40net40
net403net403
net45net45
net451net451
net452net452
net46net46
net461net461
net462net462
net47net47
net471net471
net472net472
Microsoft Store (Магазин Windows)Microsoft Store (Windows Store) netcorenetcore netcore [netcore45]netcore [netcore45]
netcore45 [win, win8]netcore45 [win, win8]
netcore451 [win81]netcore451 [win81]
netcore50netcore50
.NET MicroFramework.NET MicroFramework netmfnetmf netmfnetmf
WindowsWindows winwin win [win8, netcore45]win [win8, netcore45]
win8 [netcore45, win]win8 [netcore45, win]
win81 [netcore451]win81 [netcore451]
win10 (не поддерживается платформой Windows 10)win10 (not supported by Windows 10 Platform)
SilverlightSilverlight slsl sl4sl4
sl5sl5
Windows Phone (SL)Windows Phone (SL) wpwp wp [wp7]wp [wp7]
wp7wp7
wp75wp75
wp8wp8
wp81wp81
Windows Phone (UWP)Windows Phone (UWP) wpa81wpa81
Универсальная платформа Windows Universal Windows Platform uapuap uap [uap10.0]uap [uap10.0]
uap10.0uap10.0
uap10.0.xxxxx (где 10.0.xxxxx — Минимальная версия целевой платформы принимающего приложения)uap10.0.xxxxx (where 10.0.xxxxx is the target platform min version of the consuming app)
.NET Standard.NET Standard netstandardnetstandard netstandard1.0netstandard1.0
netstandard1.1netstandard1.1
netstandard1.2netstandard1.2
netstandard1.3netstandard1.3
netstandard1.4netstandard1.4
netstandard1.5netstandard1.5
netstandard1.6netstandard1.6
netstandard2.0netstandard2.0
Приложение .NET Core.NET Core App netcoreappnetcoreapp netcoreapp1.0netcoreapp1.0
netcoreapp1.1netcoreapp1.1
netcoreapp2.0netcoreapp2.0
netcoreapp2.1netcoreapp2.1
TizenTizen tizentizen tizen3tizen3
tizen4tizen4

Устаревшие платформыDeprecated frameworks

Следующие среды являются устаревшими.The following frameworks are deprecated. Пакеты, предназначенные для этих платформ, следует перевести на предлагаемые для замены.Packages targeting these frameworks should migrate to the indicated replacements.

Устаревшая платформаDeprecated framework ЗаменаReplacement
aspnet50aspnet50 netcoreappnetcoreapp
aspnetcore50aspnetcore50
dnxcore50dnxcore50
dnxdnx
dnx45dnx45
dnx451dnx451
dnx452dnx452
dotnetdotnet netstandardnetstandard
dotnet50dotnet50
dotnet51dotnet51
dotnet52dotnet52
dotnet53dotnet53
dotnet54dotnet54
dotnet55dotnet55
dotnet56dotnet56
winrtwinrt winwin

ПриоритетPrecedence

Некоторые платформы являются родственными и совместимыми друг с другом, хотя и не полностью идентичными:A number of frameworks are related to and compatible with one another, but not necessarily equivalent:

ПлатформаFramework Можно использоватьCan use
Универсальная платформа Windows (uap)uap (Universal Windows Platform) win81win81
wpa81wpa81
netcore50netcore50
win (Microsoft Store)win (Microsoft Store) winrtwinrt

NET StandardNET Platform Standard

Платформа .NET Standard упрощает перекрестные ссылки между платформами, совместимыми на уровне двоичных файлов, позволяя в одной целевой платформе ссылаться на несколько других.The .NET Platform Standard simplifies references between binary-compatible frameworks, allowing a single target framework to reference a combination of others. (Общие сведения см. в учебнике по .NET для начинающих.)(For background, see the .NET Primer.)

Средство получения ближайшей платформы из набора средств NuGet имитирует логику NuGet, которая используется для выбора конкретной платформы из нескольких доступных в пакете вариантов в зависимости от платформы проекта.The NuGet Get Nearest Framework Tool simulates what NuGet uses to select one framework from many available framework assets in a package based on the project's framework.

В NuGet 3.3 и более ранних версий следует использовать последовательность моникеров dotnet. В версии 3.4 и более поздних должен использоваться синтаксис моникеров netstandard.The dotnet series of monikers should be used in NuGet 3.3 and earlier; the netstandard moniker syntax should be used in v3.4 and later.

Переносимые библиотеки классовPortable Class Libraries

Предупреждение

Использовать переносимые библиотеки классов не рекомендуется.PCLs are not recommended. Несмотря на то, что переносимые библиотеки классов поддерживаются, вместо них авторам следует реализовать поддержку netstandard.Although PCLs are supported, package authors should support netstandard instead. Платформы .NET Standard является развитием переносимых библиотек классов и переносимость двоичных файлов между платформами с использованием единого моникера, который не привязано к статической библиотеки, такие как переносимой-a + b + c моникеры.The .NET Platform Standard is an evolution of PCLs and represents binary portability across platforms using a single moniker that isn't tied to a static library like portable-a+b+c monikers.

Чтобы определить целевую платформу, которая ссылается на несколько дочерних целевых платформ, используйте ключевое слово portable в качестве префикса для списка платформ, на которые указывают ссылки.To define a target framework that refers to multiple child-target-frameworks, the portable keyword use used to prefix the list of referenced frameworks. Не следует искусственно включать дополнительные платформы, для которых не выполняется компиляция, поскольку это может привести к возникновению непредвиденных побочных эффектов.Avoid artificially including extra frameworks that are not directly compiled against because it can lead to unintended side-effects in those frameworks.

Дополнительные платформы, определяемые третьими лицами, обеспечивают совместимость с другими средами, которые доступны таким образом.Additional frameworks defined by third parties provide compatibility with other environments that are accessible in this manner. Кроме того, существуют сокращенные номера профиля, которые можно использовать для ссылки на такие сочетания связанных платформ, вида Profile#. Тем не менее применять такой подход также не рекомендуется, поскольку это снижает удобочитаемость папок и файлов .nuspec.Additionally, there are shorthand profile numbers that are available to reference these combinations of related frameworks as Profile#, but this is not a recommended practice to use these numbers as it reduces the readability of the folders and .nuspec.

№ профиляProfile # ИнфраструктурыFrameworks Полное имяFull name .NET Standard.NET Standard
Profile2Profile2 .NETFramework 4.0.NETFramework 4.0 portable-net40+win8+sl4+wp7portable-net40+win8+sl4+wp7
Windows 8.0Windows 8.0
Silverlight 4.0Silverlight 4.0
WindowsPhone 7.0WindowsPhone 7.0
Profile3Profile3 .NETFramework 4.0.NETFramework 4.0 portable-net40+sl4portable-net40+sl4
Silverlight 4.0Silverlight 4.0
Profile4Profile4 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl4+win8+wp7portable-net45+sl4+win8+wp7
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
WindowsPhone 7.0WindowsPhone 7.0
Profile5Profile5 .NETFramework 4.0.NETFramework 4.0 portable-net40+win8portable-net40+win8
Windows 8.0Windows 8.0
Profile6Profile6 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+win8portable-net403+win8
Windows 8.0Windows 8.0
Profile7Profile7 .NETFramework 4.5.NETFramework 4.5 portable-net45+win8portable-net45+win8 netstandard1.1netstandard1.1
Windows 8.0Windows 8.0
Profile14Profile14 .NETFramework 4.0.NETFramework 4.0 portable-net40+sl5portable-net40+sl5
Silverlight 5.0Silverlight 5.0
Profile18Profile18 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl4portable-net403+sl4
Silverlight 4.0Silverlight 4.0
Profile19Profile19 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl5portable-net403+sl5
Silverlight 5.0Silverlight 5.0
Profile23Profile23 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl4portable-net45+sl4
Silverlight 4.0Silverlight 4.0
Profile24Profile24 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl5portable-net45+sl5
Silverlight 5.0Silverlight 5.0
Profile31Profile31 Windows 8.1Windows 8.1 portable-win81+wp81portable-win81+wp81 netstandard1.0netstandard1.0
WindowsPhone 8.1 (SL)WindowsPhone 8.1 (SL)
Profile32Profile32 Windows 8.1Windows 8.1 portable-win81+wpa81portable-win81+wpa81 netstandard1.2netstandard1.2
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile36Profile36 .NETFramework 4.0.NETFramework 4.0 portable-net40+sl4+win8+wp8portable-net40+sl4+win8+wp8
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile37Profile37 .NETFramework 4.0.NETFramework 4.0 portable-net40+sl5+win8portable-net40+sl5+win8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
Profile41Profile41 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl4+win8portable-net403+sl4+win8
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
Profile42Profile42 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl5+win8portable-net403+sl5+win8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
Profile44Profile44 .NETFramework 4.5.1.NETFramework 4.5.1 portable-net451+win81portable-net451+win81 netstandard1.2netstandard1.2
Windows 8.1Windows 8.1
Profile46Profile46 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl4+win8portable-net45+sl4+win8
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
Profile47Profile47 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl5+win8portable-net45+sl5+win8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
Profile49Profile49 .NETFramework 4.5.NETFramework 4.5 portable-net45+wp8portable-net45+wp8 netstandard1.0netstandard1.0
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile78Profile78 .NETFramework 4.5.NETFramework 4.5 portable-net45+win8+wp8portable-net45+win8+wp8 netstandard1.0netstandard1.0
Windows 8.0Windows 8.0
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile84Profile84 WindowsPhone 8.1WindowsPhone 8.1 portable-wp81+wpa81portable-wp81+wpa81 netstandard1.0netstandard1.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile88Profile88 .NETFramework 4.0.NETFramework 4.0 portable-net40+sl4+win8+wp75portable-net40+sl4+win8+wp75
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
WindowsPhone 7.5WindowsPhone 7.5
Profile92Profile92 .NETFramework 4.0.NETFramework 4.0 portable-net40+win8+wpa81portable-net40+win8+wpa81
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile95Profile95 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl4+win8+wp7portable-net403+sl4+win8+wp7
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
WindowsPhone 7.0WindowsPhone 7.0
Profile96Profile96 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl4+win8+wp75portable-net403+sl4+win8+wp75
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
WindowsPhone 7.5WindowsPhone 7.5
Profile102Profile102 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+win8+wpa81portable-net403+win8+wpa81
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile104Profile104 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl4+win8+wp75portable-net45+sl4+win8+wp75
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
WindowsPhone 7.5WindowsPhone 7.5
Profile111Profile111 .NETFramework 4.5.NETFramework 4.5 portable-net45+win8+wpa81portable-net45+win8+wpa81 netstandard1.1netstandard1.1
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile136Profile136 .NETFramework 4.0.NETFramework 4.0 portable-net40+sl5+win8+wp8portable-net40+sl5+win8+wp8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile143Profile143 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl4+win8+wp8portable-net403+sl4+win8+wp8
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile147Profile147 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl5+win8+wp8portable-net403+sl5+win8+wp8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile151Profile151 NETFramework 4.5.1NETFramework 4.5.1 portable-net451+win81+wpa81portable-net451+win81+wpa81 netstandard1.2netstandard1.2
Windows 8.1Windows 8.1
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile154Profile154 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl4+win8+wp8portable-net45+sl4+win8+wp8
Silverlight 4.0Silverlight 4.0
Windows 8.0Windows 8.0
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile157Profile157 Windows 8.1Windows 8.1 portable-win81+wp81+wpa81portable-win81+wp81+wpa81 netstandard1.0netstandard1.0
WindowsPhone 8.1 (SL)WindowsPhone 8.1 (SL)
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile158Profile158 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl5+win8+wp8portable-net45+sl5+win8+wp8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile225Profile225 .NETFramework 4.0.NETFramework 4.0 portable-net40+sl5+win8+wpa81portable-net40+sl5+win8+wpa81
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile240Profile240 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl5+win8+wpa8portable-net403+sl5+win8+wpa8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile255Profile255 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl5+win8+wpa81portable-net45+sl5+win8+wpa81
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
Profile259Profile259 .NETFramework 4.5.NETFramework 4.5 portable-net45+win8+wpa81+wp8portable-net45+win8+wpa81+wp8 netstandard1.0netstandard1.0
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile328Profile328 .NETFramework 4.0.NETFramework 4.0 portable-net40+sl5+win8+wpa81+wp8portable-net40+sl5+win8+wpa81+wp8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile336Profile336 .NETFramework 4.0.3.NETFramework 4.0.3 portable-net403+sl5+win8+wpa81+wp8portable-net403+sl5+win8+wpa81+wp8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)
Profile344Profile344 .NETFramework 4.5.NETFramework 4.5 portable-net45+sl5+win8+wpa81+wp8portable-net45+sl5+win8+wpa81+wp8
Silverlight 5.0Silverlight 5.0
Windows 8.0Windows 8.0
WindowsPhone 8.1 (UWP)WindowsPhone 8.1 (UWP)
WindowsPhone 8.0 (SL)WindowsPhone 8.0 (SL)

Кроме того, пакеты NuGet для Xamarin могут использовать дополнительные платформы, определенные для Xamarin.Additionally, NuGet packages targeting Xamarin can use additional Xamarin-defined frameworks. См. раздел Создание пакетов NuGet для Xamarin.See Creating NuGet packages for Xamarin.

nameName ОписаниеDescription .NET Standard.NET Standard
monoandroidmonoandroid Поддержка Mono для ОС AndroidMono Support for Android OS netstandard1.4netstandard1.4
monotouchmonotouch Поддержка Mono для iOSMono Support for iOS netstandard1.4netstandard1.4
monomacmonomac Поддержка Mono для OSXMono Support for OSX netstandard1.4netstandard1.4
xamariniosxamarinios Поддержка Xamarin для iOSSupport for Xamarin for iOS netstandard1.4netstandard1.4
xamarinmacxamarinmac Поддержка Xamarin для MacSupports for Xamarin for Mac netstandard1.4netstandard1.4
xamarinpsthreexamarinpsthree Поддержка Xamarin для Playstation 3Support for Xamarin on Playstation 3 netstandard1.4netstandard1.4
xamarinpsfourxamarinpsfour Поддержка Xamarin для Playstation 4Support for Xamarin on Playstation 4 netstandard1.4netstandard1.4
xamarinpsvitaxamarinpsvita Поддержка Xamarin для PS VitaSupport for Xamarin on PS Vita netstandard1.4netstandard1.4
xamarinwatchosxamarinwatchos Xamarin для Watch OSXamarin for Watch OS netstandard1.4netstandard1.4
xamarintvosxamarintvos Xamarin для TV OSXamarin for TV OS netstandard1.4netstandard1.4
xamarinxboxthreesixtyxamarinxboxthreesixty Xamarin для XBox 360Xamarin for XBox 360 netstandard1.4netstandard1.4
xamarinxboxonexamarinxboxone Xamarin для XBox OneXamarin for XBox One netstandard1.4netstandard1.4

Примечание

Стивен Клири (Stephen Cleary) создал средство, которое выводит список поддерживаемых переносимых библиотек классов, который можно найти в его статье Профили платформы в .NET.Stephen Cleary has created a tool that lists the supported PCLs, which you can find on his post, Framework profiles in .NET.