65.9K
CodeProject is changing. Read more.
Home

How to Configure Local Nuget Repository

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1 vote)

Nov 30, 2012

CPOL
viewsIcon

18077

downloadIcon

59

How to configure a local Nuget repository

Introduction

After my last posts about Nuget packaging, I wanted to share another useful experience with Nuget.
You can create a local repository to store all the packages you need and not download those every time.

  1. To do this, I have created a folder C:\NugetConfig\Repo and I have copied there the Newtonsoft.Json.4.5.10.nupkg package file.
  2. To make both solutions use this local repository, all I have to do is to change the following settings in the NuGet.targets file:
    <ItemGroup Condition=" '$(PackageSources)' == '' ">
        <!-- Package sources used to restore packages. 
        By default will use the registered sources under %APPDATA%\NuGet\NuGet.Config -->
        <!--
            <PackageSource Include="https://nuget.org/api/v2/" />
            <PackageSource Include="https://my-nuget-source/nuget/" />
        -->
    </ItemGroup>

    and add a new PackageSource location:

    <ItemGroup Condition=" '$(PackageSources)' == '' ">
        <!-- Package sources used to restore packages. 
        By default will used the registered sources under %APPDATA%\NuGet\NuGet.Config -->
        <!--
            <PackageSource Include="https://nuget.org/api/v2/" />
            <PackageSource Include="https://my-nuget-source/nuget/" />
        -->
        <PackageSource Include="C:\NugetConfig\Repo" />
    </ItemGroup>

    And that's it. This will make the solution search for the used packages in the given folder and you will get ? meaningful error if the package could not be found.

  3. Furthermore, you can add your local repository to the Visual Studio package sources so that you will be able to search and add packages from it to any new solution:

As usual, you can find the code here.