ターゲット フレームワークTarget frameworks

NuGet は、多様な場所にあるターゲット フレームワーク参照を使用してパッケージのフレームワーク依存コンポーネントを特定し、分離します。NuGet uses target framework references in a variety of places to specifically identify and isolate framework-dependent components of a package:

  • プロジェクトファイル: SDK スタイルのプロジェクトの場合、 .csprojにはターゲットフレームワークの参照が含まれています。project file: For SDK-style projects, the .csproj contains the target framework references.
  • .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.nuspec ファイルで netcoreapp2.0 ではなく .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.

Name 省略形Abbreviation TFM/TxMTFMs/TxMs
.NET Framework.NET Framework netnet net11net11
net20net20
net35net35
net40net40
net403net403
net45net45
net451net451
net452net452
net46net46
net461net461
net462net462
net47net47
net471net471
net472net472
net48net48
Microsoft Store (Windows Store)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
uap 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
netcoreapp2.2netcoreapp2.2
netcoreapp3.0netcoreapp3.0
TizenTizen tizentizen tizen3tizen3
tizen4tizen4

非推奨のフレームワークDeprecated frameworks

次のフレームワークは非推奨とされます。The following frameworks are deprecated. これらのフレームワークを対象とするパッケージは、指定されている代替のフレームワークに移行するようにしてください。Packages targeting these frameworks should migrate to the indicated replacements.

非推奨のフレームワークDeprecated framework ReplacementReplacement
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
uap (ユニバーサル Windows プラットフォーム)uap (Universal Windows Platform) win81win81
wpa81wpa81
netcore50netcore50
win (Microsoft Store)win (Microsoft Store) winrtwinrt

NET StandardNET Standard

.NET Standardは、バイナリ互換フレームワーク間の参照を簡略化し、1つのターゲットフレームワークで他のフレームワークの組み合わせを参照できるようにします。.NET 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 の Get Nearest Framework Tool では、プロジェクトのフレームワークに基づいて、パッケージ内で使用できる複数のフレームワーク アセットから、1 つのフレームワークを選択するために使用する 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 シリーズのモニカーを使用し、v3.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

警告

PCL はお勧めできませんPCLs are not recommended. PCL はサポートされていますが、パッケージ作成者は代わりに netstandard をサポートすることをお勧めします。Although PCLs are supported, package authors should support netstandard instead. .NET Platform Standard は、Pcl の進化であり、ポータブル-a + b + cモニカーのようなスタティックライブラリに関連付けられていない1つのモニカーを使用して、プラットフォーム間でのバイナリ移植性を表します。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 # FrameworksFrameworks 完全名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)

さらに、Xamarin をターゲットとする NuGet パッケージでは、Xamarin で定義された他のフレームワークも使用することができます。Additionally, NuGet packages targeting Xamarin can use additional Xamarin-defined frameworks. Xamarin 用の NuGet パッケージの作成に関するページを参照してください。See Creating NuGet packages for Xamarin.

Name 説明Description .NET Standard.NET Standard
monoandroidmonoandroid Android OS の Mono サポートMono Support for Android OS netstandard1.4netstandard1.4
monotouchmonotouch iOS の Mono サポートMono Support for iOS netstandard1.4netstandard1.4
monomacmonomac OSX の Mono サポートMono Support for OSX netstandard1.4netstandard1.4
xamariniosxamarinios Xamarin for iOS のサポートSupport for Xamarin for iOS netstandard1.4netstandard1.4
xamarinmacxamarinmac Xamarin for Mac のサポートSupports for Xamarin for Mac netstandard1.4netstandard1.4
xamarinpsthreexamarinpsthree Playstation 3 上の Xamarin のサポートSupport for Xamarin on Playstation 3 netstandard1.4netstandard1.4
xamarinpsfourxamarinpsfour Playstation 4 上の Xamarin のサポートSupport for Xamarin on Playstation 4 netstandard1.4netstandard1.4
xamarinpsvitaxamarinpsvita PS Vita 上の Xamarin のサポートSupport for Xamarin on PS Vita netstandard1.4netstandard1.4
xamarinwatchosxamarinwatchos Xamarin for Watch OSXamarin for Watch OS netstandard1.4netstandard1.4
xamarintvosxamarintvos Xamarin for TV OSXamarin for TV OS netstandard1.4netstandard1.4
xamarinxboxthreesixtyxamarinxboxthreesixty Xamarin for XBox 360Xamarin for XBox 360 netstandard1.4netstandard1.4
xamarinxboxonexamarinxboxone Xamarin for XBox OneXamarin for XBox One netstandard1.4netstandard1.4

注意

Stephen Cleary により、サポートされる PCL を一覧表示するツールが作成されました。このツールは、「Framework profiles in .NET」(.NET のフレームワーク プロファイル) の投稿に掲載されています。Stephen Cleary has created a tool that lists the supported PCLs, which you can find on his post, Framework profiles in .NET.