Megosztás a következőn keresztül:


Csomagok kezelése a Visual Studio Csomagkezelő konzollal (PowerShell)

A Visual Studio Csomagkezelő konzolja PowerShell-parancsokkal kommunikál a NuGet-csomagokkal. Akkor használhatja a konzolt, ha a Package Manager felhasználói felületén keresztül nem lehet műveletet végrehajtani. A konzolon dotnet CLI - vagy NuGet CLI-parancsokat is használhat.

Ez a cikk bemutatja, hogyan kereshet, telepíthet, frissíthet és távolíthat el NuGet-csomagokat PowerShell-parancsokkal a Package Manager-konzolon. A Package Manager console PowerShell parancshivatkozásának teljes leírását a PowerShell-referenciában talál.

Fontos

A cikkben szereplő PowerShell-parancsok és argumentumok a Visual Studio Package Manager-konzolra vonatkoznak. Ezek a parancsok eltérnek az általános PowerShell-környezetben használható PackageManagement modulparancsoktól . Minden környezet rendelkezik olyan parancsokkal, amelyek nem érhetők el a másikban, és az azonos nevű parancsok eltérőek lehetnek az adott argumentumaikban.

Konzol rendelkezésre állása

A Visual Studióban történő .NET-hez kapcsolódó feladatok létrehozása esetén a Visual Studio 2017-től kezdve a NuGet és a NuGet Package Manager automatikusan települ. A Csomagkezelőt úgy is telepítheti, hogy kiválasztja az egyes összetevők>>, a NuGet csomagkezelőt a Visual Studio Installerben.

A NuGet Package Manager bővítményt az Eszközök>bővítmények és frissítések vagy bővítmények menüben is megkeresheti. Ha nem tudja használni a Bővítmények telepítőt a Visual Studióban, a bővítményt közvetlenül https://dist.nuget.org/index.htmlinnen töltheti le.

A Package Manager-konzol a WindowsOn futó Visual Studio Csomagkezelőbe van beépítve. A Visual Studio Code és a Visual Studio for Mac nem tartalmazza a konzolt. A Mac Visual Studio felhasználói felülettel rendelkezik a NuGet-csomagok kezeléséhez, és az ezzel egyenértékű konzolparancsok a NuGet CLI-n keresztül érhetők el. További információ: NuGet-csomagok telepítése és kezelése a Mac Visual Studióban.

Csomag gyors megkeresése és telepítése

Csomag gyors megkereséséhez és telepítéséhez használja a Package Manager-konzolt:

  1. Nyissa meg a projektet vagy a megoldást a Visual Studióban, és válassza az Eszközök>NuGet Package Manager>Csomagkezelő konzol lehetőséget a Package Manager-konzol ablakának megnyitásához.

  2. A konzolon adjon meg Find-Package egy kulcsszót a telepíteni kívánt csomag megkereséséhez. Ha például a kulcsszót elmahtartalmazó csomagokat szeretné megtalálni, futtassa a következő parancsot. Ha már ismeri a kívánt csomagnevet, hagyja ki ezt a lépést.

    Find-Package elmah
    
  3. Miután megtalálta a nevet, a Install-Package parancs használatával telepítse a csomagot. A csomag telepítéséhez például írja be a Elmah.MVC következőt:

    Install-Package Elmah.MVC
    

A parancsokkal kapcsolatos további részletekért tekintse meg a Csomag keresése és a Csomag telepítése szakaszt .

Jótanács

Számos konzolművelet attól függ, hogy a Visual Studióban meg van nyitva egy ismert elérésiút-névvel rendelkező megoldás. Ha nincs mentett megoldás, vagy nincs megoldás, akkor azt a hibát látja, hogy a megoldás nincs megnyitva, vagy nincs mentve. Győződjön meg arról, hogy van egy nyitott és mentett megoldása. A hiba kijavításához hozzon létre és mentsen egy megoldást, vagy mentsen egy nem mentett megoldást.

Konzolvezérlők

A Package Manager-konzol Visual Studióban való megnyitásához válassza az Eszközök>NuGet Package Manager Csomagkezelő>konzolt a felső menüben. A konzol egy Visual Studio-ablak, amelyet tetszés szerint rendezhet és helyezhet el. További információ: Ablakelrendezések testreszabása a Visual Studióban.

Alapértelmezés szerint a konzolparancsok az ablak tetején lévő vezérlőkben látható adott csomagforráson és projekten működnek:

A Csomagkezelő konzoljának csomagforráshoz és projekthez tartozó vezérlőinek képernyőképe.

Egy másik csomagforrás vagy projekt kiválasztása megváltoztatja a következő parancsok alapértelmezett értékét. Ha az alapértelmezett beállítások módosítása nélkül szeretné felülbírálni ezeket a beállításokat, a legtöbb konzolparancs támogatja a -Source és -ProjectName opciókat.

A csomagforrások kezeléséhez válassza a fogaskerék ikont, amely megnyitja az Eszközök>beállításai>NuGet Package Manager>csomagforrások párbeszédpanelt. A projektválasztó melletti vezérlő törli a konzol tartalmát.

Képernyőkép a Package Manager konzol beállításairól és a vezérlők törléséről.

A jobb szélső gomb megszakít egy hosszan futó parancsot. A futtatás Get-Package -ListAvailable -PageSize 500 például felsorolja az alapértelmezett forrás 500 elérhető csomagjának listáját, például nuget.org, ami több percet is igénybe vehet.

Képernyőkép a Package Manager konzol leállítása vezérlőről.

Csomag keresése

Ha az alapértelmezett forrásban szeretne csomagot keresni, használja a Find-Package parancsot.

  • Bizonyos kulcsszavakat tartalmazó csomagok megkeresése és listázása:

    Find-Package <keyword1>
    Find-Package <keyword2>
    
  • Olyan csomagok megkeresése és listázása, amelyeknek a neve sztringgel kezdődik:

    Find-Package <string> -StartWith
    
  • Alapértelmezés szerint Find-Package 20 csomag listáját adja vissza. További csomagok megjelenítésére használható -First . Az első 100 csomag megjelenítéséhez például használja a következőt:

    Find-Package <keyword> -First 100
    
  • Egy adott csomag összes verziójának listázása:

    Find-Package <PackageName> -AllVersions -ExactMatch
    

Csomag telepítése

Ha csomagot szeretne telepíteni az alapértelmezett projektbe, használja a következőt Install-Package <PackageName>: . Az Install-Package konzol parancs a következő műveleteket hajtja végre:

  • Előfordulnak-e a lépések a Mi történik a NuGet-csomag telepítésekor?
  • A konzolablakban a vonatkozó licencfeltételeket jeleníti meg hallgatólagos szerződéssel. Ha nem fogadja el a feltételeket, távolítsa el a csomagot.
  • Hivatkozás hozzáadása a csomaghoz a projektfájlban és a Megoldáskezelőben a Hivatkozások csomópont alatt. A projektfájl módosításainak megtekintéséhez mentenie kell a projektet.

Alapértelmezés szerint Install-Package hozzáadja a csomagot a konzolablak által megadott alapértelmezett projekthez. Ha nem alapértelmezett projekthez szeretné hozzáadni a csomagot, használja a -ProjectName lehetőséget. Ha például hozzá szeretné adni a Elmah.MVC csomagot a nem alapértelmezett UtilitiesLib projekthez, futtassa a következő parancsot:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Csomag eltávolítása

Ha el szeretne távolítani egy csomagot az alapértelmezett projektből, használja a következőt Uninstall-Package <PackageName>: . Ha meg kell keresnie a csomag nevét, a Get-Package használatával megtekintheti az alapértelmezett projektben telepített összes csomagot.

Az Uninstall-Package a következő műveleteket hajtja végre:

  • Eltávolítja a csomagra mutató hivatkozásokat a projektből és a felügyeleti formátumokból. A hivatkozások már nem jelennek meg a Megoldáskezelőben. Előfordulhat, hogy újra kell építenie a projektet a bin mappában lévő hivatkozás eltávolításához.
  • Megfordítja a csomag app.config vagy web.configtelepítésekor végrehajtott módosításokat.
  • Eltávolítja a korábban telepített függőségeket, ha a fennmaradó csomagok nem használják ezeket a függőségeket.

A csomagok és a nem használt függőségek eltávolításához futtassa a következőt:

Uninstall-Package <PackageName> -RemoveDependencies

A csomagok eltávolításához akkor is futtassa a következőt, ha más csomagok is függenek a csomagtól:

Uninstall-Package <PackageName> -Force

Csomag frissítése

Csomag frissítéséhez használja a Get-Package és az Update-Package parancsot. A következő parancsokat futtathatja:

  • Annak ellenőrzéséhez, hogy vannak-e újabb verziók bármelyik telepített csomaghoz:

    Get-Package -updates
    
  • Egy adott csomag frissítése:

    Update-Package <PackageName>
    
  • Projekt összes csomagja frissítése:

    Update-Package -ProjectName <ProjectName>
    
  • A megoldás összes csomagjának frissítése:

    Update-Package
    

A NuGet parancssori felület használata a konzolon

A legtöbb konzolműveletet a NuGet CLI-vel is elvégezheti. A PowerShell-konzolparancsok azonban a Visual Studio által mentett projekt és megoldás környezetében működnek, és gyakran többet tesznek, mint a megfelelő NuGet CLI-parancsok. Például, egy csomag telepítése a Install-Package segítségével hozzáad egy hivatkozást a projektfájlhoz, de a NuGet CLI parancs nem jár ilyen hivatkozás hozzáadásával. Emiatt a Visual Studióban dolgozó fejlesztők általában inkább a konzolparancsokat használják, mint a NuGet CLI-t.

Ha NuGet CLI-parancsokat szeretne használni a Package Manager konzolon, telepítse a NuGet.CommandLine csomagot.

Install-Package NuGet.CommandLine

Az előző parancs telepíti a NuGet CLI legújabb verzióját. Egy adott verzió telepítéséhez használja a -Version lehetőséget. A 4.4.1-es verzió telepítéséhez például írja be a következőt:

Install-Package NuGet.CommandLine -Version 4.4.1

A csomag telepítése után az NuGet.CommandLine összes NuGet CLI-parancsot futtathatja a Package Manager konzolon keresztül.

Package Manager konzol kiterjesztése

Egyes csomagok új parancsokat telepítenek a konzolhoz. Például a MvcScaffolding olyan parancsokat hoz létre, amelyek Scaffold létrehozzák az ASP.NET MVC-vezérlőket és -nézeteket.

A NuGet.CommandLine csomag telepítése után elérhető NuGet CLI-parancsokat bemutató képernyőkép.

NuGet PowerShell-profil beállítása

Létrehozhat egy PowerShell-profilt, amellyel a gyakran használt parancsok minden PowerShell-környezetben elérhetővé válnak, így nem veszítheti el a PowerShell-beállításokat a munkamenetek között. A NuGet egy NuGet-specifikus profilt támogat, általában %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

A felhasználói profil helyének megkereséséhez írja be $profile a konzolba:

$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1

Annak megállapításához, hogy létezik-e profil ezen a helyen, írja be a kívánt test-path $profileértéket. Ha a parancs visszatér False, létre kell hoznia a profilt a megadott névvel az adott helyen. További információ: Windows PowerShell-profilok.

Következő lépések