ローカル フィードLocal feeds

ローカル NuGet パッケージのフィードは単に、パッケージを配置するローカル ネットワーク上 (または独自のコンピューターだけ) の階層フォルダー構造です。Local NuGet package feeds are simply hierarchical folder structures on your local network (or even just your own computer) in which you place packages. これらのフィードは、CLI、パッケージ マネージャー UI、およびパッケージ マネージャー コンソールを使用して、その他すべての NuGet の操作でパッケージ ソースとして使用できます。These feeds can then be used as package sources with all other NuGet operations using the CLI, the Package Manager UI, and the Package Manager Console.

ソースを有効にするには、パッケージ マネージャー UI または nuget sources コマンドを使用して、そのパス名 (\\myserver\packages など) をソースの一覧に追加します。To enable the source, add its pathname (such as \\myserver\packages) to the list of sources using the Package Manager UI or the nuget sources command.

注意

階層フォルダーの構造は、NuGet 3.3 以降でサポートされます。Hierarchical folder structures are supported in NuGet 3.3+. 古いバージョンの NuGet は、パフォーマンスが階層構造よりもはるかに劣る、パッケージを含む 1 つのフォルダーのみを使用します。Older versions of NuGet use only a single folder containing packages, with which performance is much lower than the hierarchical structure.

階層フォルダーの初期化と維持Initializing and maintaining hierarchical folders

階層でバージョン管理されたフォルダー ツリーは、次の一般的な構造になります。The hierarchical versioned folder tree has the following general structure:

\\myserver\packages
  └─<packageID>
    └─<version>
      ├─<packageID>.<version>.nupkg
      └─<other files>

nuget add コマンドを使用してパッケージをフィードにコピーすると、NuGet ではこの構造が自動的に作成されます。NuGet creates this structure automatically when you use the nuget add command to copy a package to the feed:

nuget add new_package.1.0.0.nupkg -source \\myserver\packages

nuget add コマンドは、一度に 1 つのパッケージを使用して動作します。これは、複数のパッケージを含むフィードを設定するときに、不便な場合があります。The nuget add command works with one package at a time, which can be inconvenient when setting up a feed with multiple packages.

このような場合、nuget init コマンドを使用して、それぞれ個別に nuget add を実行するように、フォルダーのすべてのパッケージをフィードにコピーします。In such cases, use the nuget init command to copy all packages in a folder to the feed as if you ran nuget add on each one individually. たとえば、次のコマンドでは、すべてのパッケージを c:\packages から \\myserver\packages の階層ツリーにコピーします。For example, the following command copies all packages from c:\packages to a hierarchical tree on \\myserver\packages:

nuget init c:\packages \\myserver\packages

add コマンドのように、init では、パッケージの識別子ごとにフォルダーを作成します。各フォルダーには、バージョン番号のフォルダーが含まれ、そこには適切なパッケージが含まれます。As with the add command, init creates a folder for each package identifier, each of which contains a version number folder, within which is the appropriate package.