web-dev-qa-db-fra.com

Comment installer un fichier .nupkg de package NuGet localement?

J'ai des fichiers .nupkg d'un livre C #. Comment puis-je les installer?

Can't see my packages

388
Tom

Menu Outils Options Gestionnaire de packages

Enter image description here

Donnez un nom et l'emplacement du dossier. Cliquez sur OK. Déposez vos fichiers de package NuGet dans ce dossier.

Accédez à votre projet, cliquez avec le bouton droit de la souris et sélectionnez "Gérer les paquets NuGet" , puis sélectionnez votre nouvelle source de paquet.

Enter image description here

Voici le documentation .

419
Shyju

Vous pouvez également utiliser Package Manager Console et appeler la cmdlet Install-Package en spécifiant le chemin d'accès au répertoire contenant le fichier de package dans le paramètre -Source:

Install-Package SomePackage -Source C:\PathToThePackageDir\
286
Enrico Campidoglio

Pour les fichiers .nupkg, j'aime utiliser:

Install-Package C:\Path\To\Some\File.nupkg
101
Felix Alcala
  1. Ajoutez les fichiers dans un dossier appelé LocalPackages situé à côté de votre solution (il n'est pas nécessaire de l'appeler ainsi, mais ajustez le xml en conséquence en conséquence)
  2. Créez un fichier appelé NuGet.config à côté de votre fichier de solution avec le contenu suivant.

    <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <add key="LocalPackages" value="./LocalPackages" />
        </packageSources>
        <activePackageSource>
          <!-- this tells that all of them are active -->
          <add key="All" value="(Aggregate source)" />
        </activePackageSource>
     </configuration>
    
  3. Si la solution est ouverte dans Visual Studio, fermez-la, puis rouvrez-la.

Maintenant, vos paquets doivent apparaître dans le navigateur ou être installables à l’aide de Install-Package.

43
Samuel Jack

Pour Visual Studio 2017 et son nouveau format .csproj

Vous ne pouvez plus simplement utiliser Install-Package pour désigner un fichier local. (Cela est probablement dû au fait que l'élément PackageReference ne prend pas en charge les chemins de fichiers; il vous permet uniquement de spécifier l'ID du package.)

Vous devez d'abord indiquer à Visual Studio l'emplacement de votre package, puis vous pouvez l'ajouter à un projet. La plupart des gens vont dans NuGet Package Manager et ajoutent le dossier local en tant que source (menu OutilsOptionsNuGet Package ManagerSources de paquets). Mais cela signifie que l'emplacement de votre dépendance n'est pas engagé (dans le contrôle de version) avec le reste de votre base de code.

Packages NuGet locaux utilisant un chemin relatif

Cela ajoutera une source de package qui ne s'applique qu'à une solution spécifique et vous pouvez utiliser des chemins relatifs.

Vous devez créer un fichier nuget.config dans le même répertoire que votre fichier .sln. Configurez le fichier avec la ou les sources de package souhaitées. Lors de la prochaine ouverture de la solution dans Visual Studio 2017, tous les fichiers .nupkg de ces dossiers sources seront disponibles. (La ou les sources sont répertoriées dans le gestionnaire de packages et les packages dans l'onglet "Parcourir" lorsque vous gérez des packages pour un projet.)

Voici un exemple nuget.config pour vous aider à démarrer:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="MyLocalSharedSource" value="..\..\..\some\folder" />
    </packageSources>
</configuration>

Histoire

Mon cas d'utilisation de cette fonctionnalité est que j'ai plusieurs instances d'un même référentiel de code sur ma machine. Il y a une bibliothèque partagée dans la base de code qui est publiée/déployée en tant que fichier .nupkg. Cette approche permet aux diverses solutions dépendantes de notre base de code d’utiliser le paquet dans la même instance de référentiel. En outre, une personne disposant d'une nouvelle installation de Visual Studio 2017 peut simplement extraire le code où bon lui semble et les solutions dépendantes seront restaurées et générées avec succès.

40
Granger

Si vous avez un fichier .nupkg et que vous n’avez besoin que du fichier .dll, il vous suffit de changer l’extension en .Zip et de rechercher le répertoire lib.

39
Marlon Cristian

Sous Linux, avec la CLI de NuGet, les commandes sont similaires. Pour installer my.nupkg, exécutez

nuget add -Source some/directory my.nupkg

Puis exécutez dotnet restore à partir de ce répertoire

dotnet restore --source some/directory Project.sln

ou ajouter ce répertoire en tant que source NuGet

nuget sources Add -Name MySource -Source some/directory

puis dites à msbuild d'utiliser ce répertoire avec /p:RestoreAdditionalSources=MySource ou /p:RestoreSources=MySource. Le second commutateur désactivera toutes les autres sources, ce qui convient aux scénarios hors ligne, par exemple.

1
user7610

Juste pour faire une mise à jour, il y a des changements mineurs pour les utilisateurs de Visual Studio 2015.

Pour utiliser ou installer le paquet manuellement, allez à Outils -> Options - > Gestionnaire de paquets NuGet -> Sources de paquet

Cliquez sur le bouton Ajouter, choisissez la source, et n'oubliez pas de cliquer sur " Mettre à jour " pour mettre à jour l'emplacement du dossier de vos paquets, éditez votre Nom désiré de la source de votre paquet si vous voulez:

enter image description here

Pour choisir votre package ajouté, cliquez avec le bouton droit sur votre solution et sélectionnez " Gérer les packages Nuget "

La liste déroulante se trouve à droite et choisissez Parcourir pour parcourir les packages que vous avez spécifiés dans la source de votre dossier. S'il n'y a pas de paquet de nuget sur cette source de dossier, ce sera vide:

enter image description here

1
Willy David Jr