ネイティブ パッケージを作成するCreating native packages

ネイティブ パッケージには、マネージド アセンブリではなくネイティブ バイナリが含まれているため、C++ (または同様の) プロジェクト内で使用できます。A native package contains native binaries instead of managed assemblies, allowing it to be used within C++ (or similar) projects. (「使用」セクションの「ネイティブ C++ パッケージ」を参照してください。)(See Native C++ Packages in the Consume section.)

C++ プロジェクトで使用できるようにするには、パッケージが native フレームワークを対象にする必要があります。To be consumable in a C++ project, a package must target the native framework. 現時点では、NuGet ですべての C++ プロジェクトが同様に処理されるように、このフレームワークに関連付けられているバージョン番号はありません。At present there are not any version numbers associated with this framework as NuGet treats all C++ projects the same.

注意

他の開発者がタグを検索して、お客様のパッケージを見つけられるように、必ず .nuspec<tags> セクションに native を含めてください。Be sure to include native in the <tags> section of your .nuspec to help other developers find your package by searching on that tag.

native を対象とするネイティブ NuGet パッケージでは、\build\content、および \tools フォルダーにファイルが提供されます。\lib はこの場合、使用されません (NuGet では、直接 C++ プロジェクトに参照を追加することはできません)。Native NuGet packages targeting native then provide files in \build, \content, and \tools folders; \lib is not used in this case (NuGet cannot directly add references to a C++ project). パッケージには、\build のターゲットとプロパティ ファイルも含まれる場合があります。このファイルは、NuGet によってパッケージを使用するプロジェクトに自動的にインポートされます。A package may also include targets and props files in \build that NuGet will automatically import into projects that consume the package. これらのファイルは、.targets.props の拡張子を含むパッケージ ID と同じ名前になります。Those files must be named the same as the package ID with the .targets and/or .props extensions. たとえば、cpprestsdk パッケージでは、\build フォルダーに cpprestsdk.targets ファイルが含まれます。For example, the cpprestsdk package includes a cpprestsdk.targets file in its \build folder.

\build フォルダーは、ネイティブ パッケージだけでなく、すべての NuGet パッケージに使用できます。The \build folder can be used for all NuGet packages and not just native packages. \build フォルダーでは、\content\lib\tools フォルダーと同様に、ターゲット フレームワークが尊重されます。The \build folder respects target frameworks just like the \content, \lib, and \tools folders. つまり、\build\net40 フォルダーと \build\net45 フォルダーを作成でき、NuGet では適切なプロパティ ファイルとターゲット ファイルがプロジェクトにインポートされるということです。This means you can create a \build\net40 folder and a \build\net45 folder and NuGet will import the appropriate props and targets files into the project. (MSBuild ターゲットをインポートするために、PowerShell スクリプトを使用する必要はありません。)(Use of PowerShell scripts to import MSBuild targets is not needed.)