Як можна перерахувати всі локально встановлені пакети NuGet?
Чи існує еквівалент NuGet RPM -qa
? Всередині Chocolatey є таке chocolatey list -localonly
, але за все життя я не можу знайти еквівалент NuGet цій команді.
Як можна перерахувати всі локально встановлені пакети NuGet?
Чи існує еквівалент NuGet RPM -qa
? Всередині Chocolatey є таке chocolatey list -localonly
, але за все життя я не можу знайти еквівалент NuGet цій команді.
Відповіді:
У консолі NuGet Package Manager введіть таку команду:
Get-Package
Це або роздрукує список встановлених пакетів, або якщо таких немає, напишіть на консолі наступний рядок:
PM> Get-Package
No packages installed.
Щоб отримати докладнішу інформацію, подивіться на NuGet PowerShell Reference .
Get-Package
, імена пакетів - обрізаються , коли вони мають більш ніж 32 characteres. Чи можна збільшити стовпець імені пакета так, щоб на виході відображалися повні імена, не обрізаючи їх?
Get-Package | Format-Table -AutoSize
зробить це
Якщо ви просто робите
Get-Package
він перелічить пакунки та де на них посилаються. Він буде перераховувати одні й ті ж пакети знову і знову, якщо у вас є посилання на них багато разів. Якщо ви хочете отримати чистий список усіх пакетів, встановлених у рішенні, ви можете це зробити
Get-Package | select -Unique Id, Versions
Get-Package -ProjectName "Your.Project.Name"
Покаже пакети для зазначеного проекту.
Див. Також: Посилання на консоль диспетчера пакетів PowerShell
Зверніть увагу, що кожен проект матиме файл package.config, який використовується для відстеження встановлених пакетів. Якщо це змінено (зокрема, якщо ви змінюєте його назад), проекти можуть не автоматично завантажувати правильну версію пакета. У такому випадку занотуйте необхідні пакунки та виконайте деінсталяційну упаковку, а потім інсталюючий пакет для кожного.
Крім того, резервні копії - це ваш друг! ;)
У Visual Studio,
packages.config
файл. Див. Документацію Microsoft .
Як перерахувати всі встановлені пакети NuGet?
Припускаючи, що NuGet встановлений належним чином
Клацніть правою кнопкою миші вузол проекту та виберіть Керувати пакетами NuGet
Див. Список встановлених пакетів
Відповідь на "Чи є спосіб зробити це за допомогою nuget.exe? - bitbonk" :
nuget list -Source C:/packages
Де C: / пакети - це шлях до вашого локального сховища.
Якщо у вас встановлено середовище виконання .NET Core, ви можете скористатися командою dotnet list package в інструментах .NET Core CLI, щоб отримати встановлені пакети для даного рішення або проекту. Використовуйте його так, як у командному рядку Windows:
dotnet list "C:\Source\MySolution\MySolution.sln" package
Він працює як на проектах .NET Framework, так і на .NET Core.
Примітка: Щоб ця команда працювала, рішення має використовувати новий формат NuGet PackageReference для посилання на пакети NuGet. Міграція така ж проста, як клацання правою кнопкою миші package.config і натискання кнопки "Мігрувати пакети .config до PackageReference ...", а потім відновлення пакунків шляхом побудови рішення.
Відповідь на "Чи можна це зробити за допомогою nuget.exe?" - бітбонк
На основі відповіді від jstar вище. Я використовував \
замість того, /
який більше підходить для середовища Windows, де Nuget знаходиться вдома. Мою редакцію відповіді було відхилено, тому я публікую свою.
nuget list -Source c:\code\packages
Де c:\code
шлях до вашого локального сховища коду. packages
Папка знаходиться на тому ж рівні як ваше рішення-файл (* .sln).